我正在使用Matlab 2012a附加< 1x19 cell>使用dlmwrite到CSV文件。单元阵列包括17个数字和2个空格。结果:17个值写入目标csv文件,但缺少两个空格。我使用以下代码:
Output=num2cell([var1,var2,var3....var19]);
Output(cellfun(@isnan,Output)) = {[]};
dlmwrite('Target.csv',Output_m,'-append');
当我在命令窗口中运行代码时,我可以看到输出中出现空白:
Output =
Columns 1 through 10
[19] [2] [137.5994] [0] [] [501.3610] [38.4230] [0] [0] [4.9160]
Columns 11 through 19
[4.9160] [38.4230] [0] [38.4230] [501.6580] [] [-1.2590] [0] [0]
但是当附加到csv文件时,空白消失。
感谢。
答案 0 :(得分:1)
这在文档中列出:
dlmwrite(filename,M)将数组M中的数字数据写入ASCII格式文件filename,使用默认分隔符(,)分隔数组元素。如果文件filename已经存在,则dlmwrite将覆盖该文件。
忽略非数字数据,这就是数据丢失的原因。
解决问题的一种方法是编写一个类似-Inf
的数字,然后使用后处理器删除这些元素