Мне нужно работать с огромным CSV-файлом (3-4 ГБ, около 100 миллионов строк). Мне нужен более быстрый способ пройти через это.
Он слишком большой для загрузки в память, поэтому я попытался использовать функцию генератора для циклического прохождения через CSV. Проблема в том, что это очень медленно. Требуется около 1 дня для кода, чтобы перебрать файл CSV. Как я могу сделать намного быстрее?
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)
Мне нужен метод, который я мог бы использовать для более быстрого прогресса. Может кто-нибудь порекомендовать мне что-нибудь? Заранее спасибо