我有两个数组,X和Y
X有这样的数字数据:
12342
1355
2324
...
Y有这样的字符串:
APPLE
METRO
BLANKET
...
我想以这种格式将这些数组附加到预先存在的.csv中:
X(1,1), Y{1,1}
X(2,1), Y{2,1}
X(3,1), Y{2,1}
...
我该怎么做?
答案 0 :(得分:0)
遗憾的是,将单元格数组写入csvs可能会非常棘手。您需要循环使用这种或那种方式,以便可以访问每个单元格中的数据。单元格不自动写入的原因是单元格可以包含任何内容 - 就像整个数据矩阵一样。
允许任何类型的单元格/矩阵组合的最通用的方法是使用fprintf - 您只需要指定格式。 http://au.mathworks.com/help/matlab/ref/fprintf.html
nrows = size(x,1);
fid = fopen('newfile.csv','w');
for aa = 1 : nrows
fprintf(fid,'%f,%s\r\n', x(aa,1), y{aa,1});
end
如果只追逐十进制数而不是浮点精度,则可以使用%d而不是%f。
我发现fprintf要比这种情况下的任何替代方案都快。它有点低级,但允许你写任何你喜欢的文件。