所以,我有一个文件,旨在解析一个相当大的csv文件来清除一些数据点。下面列出了文件中的三个值(超过400,000+):
Vehicle_ID Frame_ID Tot_Frames Epoch_ms Local_X
2 29 1707 1163033200 8.695
2 30 1707 1163033300 7.957
2 31 1707 1163033400 7.335
我在这里要做的是采用这样的先前过滤的数据点并使用csvwrite将其插入另一个csv文件。但是,csvread只会以双精度方式接收Epoch_ms,将值存储为1.1630e + 09,这足以读取,因为它保留了用于MATLAB操作的数字的原始值。
但是,在csvwrite期间,该精度会丢失,并且每个数据点都写为1.1630e9。
如何让csvwrite以更高的精度处理数字?
答案 0 :(得分:10)
将dlmwrite与精确参数一起使用,例如%i
。默认分隔符是逗号,就像CSV文件一样。
dlmwrite(filename, data, 'precision', '%i')