【发布时间】:2013-08-11 00:32:52
【问题描述】:
我有大约 50 个 CSV 文件,每个文件有 60,000 行,列数不等。我想按列合并所有 CSV 文件。我尝试在 MATLAB 中执行此操作,方法是转置每个 csv 文件并重新保存到磁盘,然后使用命令行连接它们。这花了我一个多星期的时间,最终结果需要再次转置!我必须再做一次,我正在寻找一个不会再花一周时间的解决方案。任何帮助将不胜感激。
【问题讨论】:
-
你懂 Perl,哪怕一点点?
-
不,根本没有。我知道 C 和 C++。
-
50 次 60000 行听起来并不多。数据的总大小是多少?它不适合内存吗?
-
每个文件有 60000 行和 100-200 列(因文件而异)。每个文件大约 40-50 MB。我的 MATLAB 代码只是将 csv 读入一个单元格数组,将其转置并保存回来。那花了一周时间。然后我连接了所有转置的 csv,这只是一两分钟。我不知道为什么它这么慢。我只是不想再在 MATLAB 中那样做。