我有一个 1.6 GB 大的 CSV 文件,需要将其输入到 matlab 中。我必须经常这样做,并且需要它快速运行。该文件的格式为:
20111205 00:00.2 99.18 6 E
20111205 00:00.2 99.18 5 E
20111205 00:00.2 99.18 1 E
20111205 00:00.2 99.195 5 E
20111205 00:00.2 99.195 5 E
20111205 01:27.0 99.19 5 E
20111205 02:01.4 99.185 1 E
20111205 02:01.4 99.185 1 E
20111205 02:01.4 99.185 1 E
20111205 02:01.4 99.185 1 E
我现在的代码如下:
tic;
format long g
fid = fopen('C:\Program Files\MATLAB\R2013a\EDU13.csv','r');
[c] = fscanf(fid, '%d,%d:%d.%d,%f,%d,%c');
c = reshape(c, 7, length(c)/7)
toc;
但这太慢了。我希望能找到一种以最有效的方式将此 CSV 文件导入 matlab 的方法。谢谢你!
考虑使用二进制文件格式。二进制文件要小得多,不需要通过 MATLAB 转换为二进制格式。因此它们的读写速度要快得多。它们也可能更准确(精度可能更高)。
http://www.mathworks.com.au/help/matlab/ref/fread.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)