使用生成器通过巨大的csv文件更快地迭代

时间:2019-10-14 18:35:36

标签: python python-3.x csv generator

我必须处理一个巨大的csv文件(3-4 GB,大约1亿行)。我需要一种更快的方法来迭代它。

要加载到内存中很大,因此我尝试使用生成器功能遍历csv。问题是当前非常缓慢。代码要遍历csv文件大约需要1天。我该怎么办呢?

import csv

def csv_generator(file):

    with open(filename, "r") as csvfile:
        data=csv.reader(csvfile)

        for row in data:
            yield row

filename='tickdata.csv' 

data = csv_generator(filename)

import datetime as dt
import numpy as np
import pandas as pd
from IPython.display import clear_output

dt_start = dt.datetime.now()
rows=0

while rows is not None:
    rows=next(data)
    print(rows) # or something else
    clear_output()  

dt_finish = dt.datetime.now()
time=dt_finish-dt_start
print(time)

我需要一种可以用来加快进度的方法。有人可以推荐我一些东西吗? 预先感谢

0 个答案:

没有答案