如何在Matlab中将单元格数组写入csv,同时保持字符串的单元格数组结构

时间:2017-03-15 14:51:17

标签: matlab csv cell-array

我正在尝试在Matlab中写出一个单元格aray到csv文件。 data {1,:}等于标题,数据{2,:}具有数据(2x23)。 单元阵列中的数据具有字符串和数字的混合。 数组中的一个单元格有一个非常长的字符串/注释,当我尝试将其写入csv时,字符串会被分解为多个部分并打印出csv文件中的3个单元格。这会将所有其他信息与其关联的标头不同步。 这就是我目前正在尝试的:

 fid = fopen('test.csv', 'w') ;
fprintf(fid, '%s,\t', csvdata{1,1:end}) ;
fprintf(fid,'\n,%f, %f, %f,%f, %f, %s,%s, %f, %f,%s, %f, %s,%s, %f, %s,%s, %s, %s,%s, %s,%s,%s,%s',csvdata{2,:});
fclose all

1 个答案:

答案 0 :(得分:2)

你应该用双引号(")括起你的字符串,以确保字符串中的逗号被视为文字逗号而不是分隔符

fprintf(fid,'\n,%f, %f, %f,%f, %f, "%s","%s", %f, %f,"%s", %f, "%s","%s", %f, "%s","%s", "%s", "%s","%s", "%s","%s","%s","%s"',csvdata{2,:});