0

我正在开发一个项目,该项目实际上从 CSV 文件加载数据,对其进行处理,然后将其保存在磁盘上。为了快速读取 CSV 数据,我使用 Lumenworks CSV 阅读器http://www.codeproject.com/Articles/9258/A-Fast-CSV-Reader。这工作正常,直到一个限制,但当我有大小为 1GB 或更大的 CSV 时,它需要时间。有没有其他方法可以更快地读取 CSV?

4

1 回答 1

1

没有提供很多信息......所以假设这是一个 IO 限制,您的选择是:

  1. 获得更快的存储 [例如 SSD、RAID]。
  2. 尝试压缩 - 有时压缩所花费的时间 [例如 Zip] 会在 IO 中节省倍数。
  3. 尝试线程 - 如果进行计算困难的计算特别有用 - 但在这种情况下可能不适合。
  4. 改变问题——你需要读/写一个 1GB 的文件吗?也许你可以改变数据格式[156比“156”小很多,也许你只需要处理更小的块,也许老实说花费的时间并不重要等等。

还有其他人吗?

嗯,您可以尝试缓存输出,我已经尝试过 MemoryMappedFiles 和 RAM 驱动器...您可以通过一些简单的线程来完成...虽然这可能会更快返回,但它具有巨大的风险和复杂性

于 2012-07-24T07:01:53.307 回答