【问题标题】:Import a CSV into Matlab in multiple parts将 CSV 分多个部分导入 Matlab
【发布时间】:2014-02-23 04:29:53
【问题描述】:

我有一个非常大的 CSV 文件 (870mb),我正在尝试将其导入 Matlab。有些数据是数字,有些是文本。我有 16GB 的 RAM 和一个 SSD,但导入向导脚本正在使用 37GB,并且在几个小时后扫描文件的进度没有超过 0%。

有没有办法分解导入向导脚本以导入前 500,000 行并将它们保存到变量和空 dataArray,然后导入接下来的 500,000 行并将其附加到变量等,直到文件完成?我很惊讶 Matlab 本身并没有做这样的事情。

感谢您的帮助。

【问题讨论】:

  • Matlab 几乎有太多 多种导入 CSV 的方法 - importdatacsvreadtextscanfscanf、...一直到 fgetl /sscanf 如果您需要进行更复杂的解析。由于没有您的数据和代码的任何进一步细节,很难说什么是最合适的。

标签: matlab csv import


【解决方案1】:

看看我描述的内存映射方法here。如果您知道文件的格式,或者可以从内容中推断出来,我发现这是将大型 CSV 文件读入 Matlab 的最快方法。它还有助于减少内存使用量。

【讨论】:

    猜你喜欢
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 2014-10-14
    • 1970-01-01
    • 2019-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多