我有一個巨大的csv文件(如:超過幾個演出),並希望在Matlab中讀取它並處理每個文件。讀取其全部文件是不可能的,所以我使用此代碼中的每一行改爲:Matlab:將單元格字符串(逗號分隔)轉換爲矢量
fileName = 'input.txt';
inputfile = fopen(fileName);
while 1
tline = fgetl(inputfile);
if ~ischar(tline)
break
end
end
fclose(inputfile);
這yiels尺寸(1,1)的與所述線串的單元陣列。我想要的是將這個單元格轉換爲只有數字的普通數組。 例如:
input.csv:
0.0,0.0,3.201,0.192
2.0,3.56,0.0,1.192
0.223,0.13,3.201,4.018
最終結果在Matlab用於第一行:
A = [0.0,0.0,3.201,0.192]
我試圖轉換TLINE雙(TLINE),但是這會產生完全不同的結果。也嘗試使用正則表達式,但卡在那裏。我達到了將所有值分解到一個數組中的不同單元格的地步。但轉換爲雙str2double只產生NaNs ...
任何提示?最好沒有任何循環,因爲它已經花費一些時間來讀取整個文件。
您是否試過爲CSV讀取指定'row','col'和'range'參數? – slayton
好點,我會試試。 – Tim
使用'str2num(tline)'而不是'str2double'。 –