【发布时间】:2014-02-10 02:40:41
【问题描述】:
我对使用 Accelerate 库很感兴趣,我想对存储在 CSV 文件中的数据执行一些操作。我已经阅读了this excellent introduction to Accelerate,但我不确定如何有效地将 CSV 读入 Accelerate。我考虑过这个,唯一能想到的就是将整个 CSV 文件解析成一个长列表,然后将整个列表输入到 Accelerate 中。
我的数据集将非常大,将 1 gb+ 的文件读入内存并复制到其他地方似乎效率不高。我注意到 Hackage 上有一个 CSV Enumerator 包,但我不确定如何将它与 Accelerate 的生成功能一起使用。另一个限制是,在使用 Accelerate 生成数组之前,似乎必须知道数组的维度或至少元素的数量。
以前有人处理过这种问题吗?
谢谢!
【问题讨论】:
-
这里的问题似乎不是如何从CSV增量读取数据,而是如何增量地将数据馈送到
accelerate。 -
在切线上,我想指出 csv-conduit (hackage.haskell.org/package/csv-conduit) 几乎取代了我有一段时间没有更新的 csv-enumerator。由于管道基础设施,它还具有更简单的界面。
标签: arrays haskell csv accelerate-haskell