在matlab中使用fprintf for csv

时间:2014-04-10 15:48:44

标签: macos matlab csv printf cell-array

我想生成一个带有标题和一些数据的csv文件。由于我在Mac上,这不能使用csvwrite,所以我需要使用fprintf。

我将标题存储在名为header的单元格数组中(header ='AB''CB')。无论我在尝试什么,我都会收到错误:

  

使用fprintf时出错

     

未为“单元格”输入定义函数。

有人可以用标题示例做一个简单的例子吗?

1 个答案:

答案 0 :(得分:0)

这样的事情应该有效,

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通常会为你做的手动grunt工作。