【问题标题】:Using fprintf for csv in matlab在 matlab 中将 fprintf 用于 csv
【发布时间】:2014-04-10 15:48:43
【问题描述】:
我想生成一个带有标题和一些数据的 csv 文件。由于我在Mac上,使用csvwrite不起作用,所以我需要使用fprintf。
我将我的标题存储在一个名为 header (header = 'AB' 'CB') 的单元格数组中。无论我在尝试什么,我都会得到一个错误:
使用 fprintf 时出错
没有为“单元”输入定义函数。
有人可以用标题示例做一个简单的例子吗?
【问题讨论】:
标签:
macos
matlab
csv
printf
cell-array
【解决方案1】:
这样的事情应该可以工作,
headers ={'Header1','Header2','Header3'};
fh = fopen('SomeFile.csv','w');
for ii = 1:numel(headers)
if ii == 1
fprintf(fh,headers{ii});
else
fprintf(fh,[',',headers{ii}]);
end
end
randVals = rand(5,3);
for ii = 1:size(randVals,1)
fprintf(fh,'\n');
for jj = 1:size(randVals,2)
if jj == 1
fprintf(fh,num2str(randVals(ii,jj)));
else
fprintf(fh,[',',num2str(randVals(ii,jj))]);
end
end
end
fclose(fh)
您只需要分离出标题并执行 csvwrite 通常会为您完成的手动繁重的工作。