2016-08-17 98 views
0

的.csv數據文件我怎樣才能讀取斜槓('/')分隔的.csv數據文件到MATLAB。
例如,我有一個像下面的.csv文件,我怎麼看它到MATLAB,而無需通過NaN替代值是多少?如何閱讀斜槓分隔成MATLAB

Apertures   
Offset s Shape Inner Dia U/V Ellipse Param a/b/c/d 
0  0.152/0.0415 0.076/0.02075/0.076/0.02075 
0  0.152/0.0387 0.076/0.01935/0.076/0.01935 
0  0.152/0.0387 0.076/0.01935/0.076/0.01935 
+0

你的第一和第三列沒有按」 t似乎與其他人用斜線符號分開,而是用標籤代替。您應該在列之間使用一致的分隔符,還是要使用斜槓和製表符來進行列分隔? –

回答

0

您可以使用dlmread並指定飛濺分隔符。

語法:M = dlmread(文件名,分隔符)

例子:

dlmread('myfile.txt', '/') 

如果你有列名的標題行,你可以指定要開始閱讀其中的行和列。

語法:M = dlmread(文件名,分隔符,R1,C1)

dlmread('myfile.txt', '/', 1, 0) % skip first row 

編輯:如果你的文件數據不僅包含數字,而且文本,那麼你可以使用textscan這將讀取數據到cellarray,或readtable這將讀取您的數據到一個表。

實例(假設你的文件有3列:整數,文本,浮動):

使用textscan

fileID = fopen('/path/to/your/file.csv'); 
Data = textscan(fileID,'%d %s %f'); 
fclose(fileID); 

或者用表:

Data = readtable('/path/to/your/file.csv'); 
+0

謝謝,但使用「dlmread」我收到錯誤,原始文件是3996×17矩陣,包含文本的某些列,閒置空間,飛濺分離數據等 – walexwisdom

+0

如果你的文件中包含的文本是一個完整的不同的事情。那麼您不能將內容存儲在數組中。請更新您的問題以便參考。我更新了我的答案,爲它提供了兩種不同的解決方案。 –