处理大文件的最快方式是什么?

26 浏览
0 Comments

处理大文件的最快方式是什么?

我有多个3 GB的制表符分隔文件,每个文件有2000万行。所有行都必须独立处理,任意两行之间没有关联。我的问题是,哪种方法更快?

  1. 逐行读取?

    with open() as infile:
        for line in infile:
    

  2. 将文件分块读入内存并处理,比如每次处理250 MB?

处理过程并不是很复杂,我只是将列1的值存入List1,将列2的值存入List2等等。可能需要将一些列的值相加。

我在一台具有30GB内存的Linux机器上使用Python 2.7。文本格式为ASCII。

有没有办法并行加速处理速度?目前我正在使用前一种方法,但处理速度非常慢。使用CSVReader模块会有帮助吗?

我不一定要用Python,欢迎提供其他语言或数据库的使用建议。

0