我想读取一个csv文件使用textscan。这些字段与','分隔。我用下面的代码,但它只读取一行数据到矩阵W.为什么textscan只能读一行
我也试过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;
嗨,大家好脏东西,感谢您的答案。我检查结果并发现textscan()读取所有字段,但将它们全部放入{1,1},它本身是{1,10 * numberOfFields}。所以textscan()不会识别行。 – gstar2002
dlmread()或csvread()在内部使用dlmread(),也读取所有字段,但是在错误位置单独分隔行。 – gstar2002
由于您只指定了一种模式以匹配:1'1%单元格数组,因此''%f''可以匹配。每行有10个数字吗?如果你想把它们分割成单独的单元格,那么你需要指定匹配的模式:''%f%f%f%f%f'f(是的,这有点尴尬。不,不能用'EndOfLine')。我不确定这是否真的是行尾问题,但您也可以尝试不包含该参数。 – horchler