Matlab自带的csvwrite函数无法写入含有字符串的数组,而xlswrite函数不能写入.csv函数。这里使用写入文本的方式,将cell数组保存为.csv文件。
在cell数组中,通常包括数字和字符串,如果是数字的话,需要将其转为字符串格式。
这里需要逐个写入,在每个元素之间插入一个逗号(分隔符为逗号)。
Matlab代码如下:
% cellarr 为输入到.csv文件中的cell数组
% path 为输出文件所在的文件夹
outfile = strcat(path, '\outfile.csv');
delimiter = ','; %分隔符,.csv文件的分隔符为逗号
fid = fopen(outfile, 'w');
for i = 1 : size(cellarr, 1)
for j = 1 : size(cellarr, 2)
percellvalue = cellarr{i, j};
if size(percellvalue, 1) == 0
percellvalue = '';
end
if isnumeric(percellvalue) == 1
percellvalue = num2str(percellvalue);
end
fprintf(fid, percellvalue);
if j ~= size(cellarr, 2)
fprintf(fid, delimiter);
end
end
fprintf(fid, '\n');
end
fclose(fid);
写成函数格式,请参考博客 MATLAB字符串数组存储为CSV格式。