【发布时间】:2015-09-13 17:41:37
【问题描述】:
我在 5 列中创建了一些随机数据并将其存储为 CSV 文件。这很好用,我的 CSV 实际上包含 1001 行;我的带有标题的数据(我通过在电子表格编辑器中打开它来检查它)。但是,当我使用csvread 再次在 MATLAB 中读取它时,如果我没有指定分隔符,并且当我指定分隔符时,data 仅包含 957 行,因此缺少标题和前 42 行。这是怎么回事?
代码:
A = rand(1e3,5);
out = fopen('output.csv','w');
fprintf(out,['ColumnA', ',', 'ColumnB', ',', 'ColumnC', ',', 'ColumnD', ',', 'ColumnE','\n']);
fclose(out);
dlmwrite('output.csv', A, 'delimiter',',','-append');
data = csvread('output.csv',',');
错误:
使用 dlmread 时出错(第 139 行) 文件和格式字符串不匹配。 无法从文件中读取数字(第 1u 行,第 1u 字段)==> ColumnA,ColumnB,ColumnC,ColumnD,ColumnE\n
csvread 中的错误(第 48 行) m=dlmread(文件名, ',', r, c);
我在写入或读取文件时是否遗漏了一些愚蠢的东西?
我在 64 位 Windows 7 机器上运行 MATLAB R2012a。 (虽然我希望在下个月升级到 R2015b)
【问题讨论】:
标签: matlab csv file-writing