Matlab逐行写数据到csv
如图所示,希望通过红色的方框逐行移动,将每一行的数据写入csv文件中,每一行后一列数据又由一个数组组成,由于这里又有字符又有数字,不方便统一处理。且matlab中原有的与excel或csv写有关的函数在逐行写入数据功能上不太好用,可以使用fprintf函数。亲测可用,源码如下。
%% author:Alvin Lee
data=load('result.mat');
[row,col]=size(data.recRect);
filename='resylt.csv';%.csv可以更改为.txt等
fid=fopen(filename,'w');
count=0;
for index=1:col
name=data.recRect(index).name;
bbx=data.recRect(index).bbx;
[a,b]=size(bbx);
for i=1:a
count=count+1;
fprintf(fid,'%d ,%d ,%d ,%d ,%d, %f ,%s\n',count,bbx(i,:),name);% ','是分隔符
end
end