Python:哪个是读取大型.csv文件的最佳方法?

时间:2016-11-30 17:05:35

标签: python csv pandas io

我必须阅读.csv左右的大20MB条。这些文件是由8列和5198行组成的表。我必须对特定列I进行一些统计。

我有n个不同的文件和我正在做的事情:

stat = np.arange(n)
    I = 0
    for k in stat:
        df = pd.read_csv(pathS+'run_TestRandom_%d.csv'%k, sep=' ')
        I+=df['I']
    I = I/k ## Average

此过程需要0.65s,我想知道是否有最快的方式。

1 个答案:

答案 0 :(得分:-2)

编辑:显然这是一个非常糟糕的方法!不要做我想做的事:/

我正在研究类似的问题,大小相同的数据集。我正在使用的方法是numpy的genfromtxt

import numpy as np

ary2d = np.genfromtxt('yourfile.csv', delimiter=',', skip_header=1,
    skip_footer=0, names=['col1', 'col2', 'col3', 'col4', 'col5', 'col6', 'col7', 'col8'])

在我的系统上,它的总时间约为.1秒

这样做的一个问题是,任何非数字值都会被nan替换,而这可能不是您想要的