首页 > 解决方案 > 将字符串数组保存到 CSV

问题描述

我有一个 25194081x2 的字符串矩阵,称为 s1。下面是数据的外观。

在此处输入图像描述

我正在尝试将此矩阵保存到 csv。我尝试了下面的代码,但由于某种原因,它保存了向量的第一列两次(并排)而不是两列。

我究竟做错了什么?

fileID= fopen('data.csv', 'w') ;
 fprintf(fileID, '%s,%s\n', [s1(:,1) s1(:,2)]);
 fclose(fileID)

标签: arraysstringmatlabexport-to-csv

解决方案


不要像现在那样将列合并到字符串数组,而是将它们作为单独的参数提供,并循环遍历s1

fileID= fopen('data.csv', 'w') ;
for k = 1:size(s1,1)
    fprintf(fileID, '%s,%s\n', s1(k,1), s1(k,2));
end
fclose(fileID)

或者,如果您使用 >R2019a,您可以使用writematrix

writematrix(s1, 'data.csv');

推荐阅读