我正在尝试使用文本扫描读取csv文件。这些字段用',‘分隔。我使用了以下代码,但它只将一行数据读入矩阵W。
我也尝试了dlmread(),它得到了错误的字段数量。
该文件在linux下构造,matlab在linux下构造。
file_id = fopen('H:\data\overlapmatrices\cos.mat.10');
W = textscan(file_id, '%f', 'delimiter', ',' , 'EndOfLine', '\r\n');
fclose(file_id);
clear file_id;发布于 2014-02-24 21:31:13
问题可能出在文件中如何表示行尾(另请参阅维基百科上的this article )。\r\n (回车和换行符的组合)在Windows上很常见,而\n (只有换行符)在Linux和其他Unix系统上是标准的。
但正如本所说,csvread可能是读取文件的更简单的方法。
发布于 2014-02-24 21:34:32
你可能想试试csvread,它应该能起到作用。
或者你可以总是做一些肮脏的事情,比如
fid = fopen( filename );
tline = fgetl(fid);
while ischar(tline) %or some other check
%sscanf(tline...
tline = fgetl(fid);
endhttps://stackoverflow.com/questions/21988809
复制相似问题