Csvwrite返回单行输出而不是多行(显示在记事本中)

时间:2016-06-29 08:49:39

标签: matlab csv

目标

我想以下列格式编写.csv文件

1253.7500,1295.5000,-403.7500,1,0.000
1253.7500,1295.5000,-401.2500,1,0.000
1258.7500,1294.5000,-403.7500,1,0.000
1258.7500,1294.5000,-401.2500,1,0.000
1257.5000,1295.5000,-402.5000,1,0.000

代码 如果我使用.csvwrite如下

m = [3 6 9 12 15; 5 10 15 20 25; ...
 7 14 21 28 35; 11 22 33 44 55];
csvwrite('test1.dat',m);
type test1.dat

Matlab正确显示如下:

3,6,9,12,15
5,10,15,20,25
7,14,21,28,35
11,22,33,44,55

问题

我想将它导入另一个需要上述格式的程序,但如果我在记事本中打开创建的文件,它看起来像这样:

3,6,9,12,**155**,10,15,20,**257**,14,21,28,**3511**,22,33,44,55

(星星不会出现我用它们突出问题区域,因为这里有两个数字合并)

有没有办法在不发生这种情况的情况下将其写入.csv文件?

1 个答案:

答案 0 :(得分:3)

问题实际上在于记事本,而不是代码或matlab。 使用notepad ++,它正确显示为:

enter image description here

如果与.csv一起使用而不是.dat格式

m = [3 6 9 12 15; 5 10 15 20 25; ...
 7 14 21 28 35; 11 22 33 44 55];
csvwrite('test1.csv',m);
type test1.csv

它也可以在Excel中检查并且显示正确:

enter image description here