在Matlab中将数字写入.csv
时,它似乎会修改数据。
这对我来说是惊人的,这是我以前从未见过的。
>> csvwrite('FirstCol.csv',[201210;201211])
>> twodates =csvread('FirstCol.csv')
twodates =
201210
201210
现在与xlswrite
>> xlswrite('FirstCol.xls',[201210;201211])
>> aa=xlsread('FirstCol.xls')
aa =
201210
201211
原因可能是日期相似的数字下面的某些自动格式化吗? (我的解释只是神秘主义)
答案 0 :(得分:1)
csvwrite
最多可写入五位有效数字。如果需要更高的精度,请使用带有精度参数的dlmwrite
。
这样做:
csvwrite('FirstCol.csv',[201210;201211])
csvread('FirstCol.csv')
你确实失去了最后的数字。
但是使用dlmwrite
,您可以
dlmwrite('FirstCol.csv',[201210;201211],'precision',6)
dlmread('FirstCol3.csv')
确实会产生正确的输出。
我正在使用Mac而我无法使用xlswrite
,但显然这也是一种合理的方法。