我有一个巨大的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'。 –