2015-10-15 143 views
-1

如何將txt文件轉換爲MATLAB的csv文件?下面寫的是我編寫的代碼和一些想法。這並不是很長的代碼。如何將.txt文件轉換爲matlab中的.csv文件?

% All data was approved for publication by the USGS. 
%SampleData 
% Day of Year Date Number Discharge, cfs 
1 37987 4175.512953 
2 37988 2065.641026 
3 37989 1030.974359 
4 37990 674.7589744 
5 37991 519.4717949 
6 37992 426.5333333 
7 37993 389.4974359 
8 37994 355.5692308 
9 37995 359.5025641 
10 37996 558.4461538 

function [ ] = convertTexttoCSV(fileNameTxt, fileNameCSV) 
data = load('fileNameTxt.txt');%only loads numerical values 
end 

我是否還需要在加載後打開並讀取txt文件。文本文件有一些不必要的字符串數據,這就是我使用load的原因。以下是我計劃使用的內容,但現在我認爲這對於這個問題非常重要。

fid1 = fopen('fileNameTxt.txt','r');%read 
fid2 = fopen('fileNameCSV', 'w');%write 
%while ~feof(fid1)%go to the end of the line 
    % textline = fgetl(fid1);%reads line of text 
    %convert to CSV 
    % M = [M;str2num(txtline)];%store line of text in an array 
    %used for space delimited files 
    % M = dlmread('fileNametxt','delimiter',%[rS cS rE cE]) 
+1

不知道你的問題是什麼,請使用演示數據和期望的輸出 –

+2

'importdata(.txt)' - >'csvwrite(.csv)' – Adriaan

+1

爲什麼不在bash或cmd中執行? – GameOfThrows

回答

1
data = importdata('filename.txt'); 
csvwrite('filename.csv',data.data); 

這你想要做什麼。 function方式:

function [] = txt2csv(txtfile,csvfile) 
    data = importdata(txtfile); 
    csvwrite(csvfile,data.data); 
end 

我使用data.data因爲importdata使用了從文本數據,其被存儲在單獨的data.textdata的數字數據。

+0

嗨,謝謝我試過這個,它沒有工作? – kal

+0

爲什麼它不起作用?我們無法讀懂你的想法,那不是我們的工作。 – rayryeng