繁体   English   中英

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

[英]Python: which is the best way to read large .csv file?

我必须阅读大约20MB .csv 这些文件是由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 ,我想知道是否有最快的方法。

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

我现在正在使用大小相同的数据集解决类似的问题。 我正在使用的方法是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'])

在我的系统上,时间总计约为0.1秒

这样做的一个问题是,非数值的任何值都将简单地替换为nan ,而这可能不是您想要的值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM