Как разделить чтение большого CSV-файла на части равного размера в Python?

В основном у меня был следующий процесс.

import csv
reader = csv.reader(open('huge_file.csv', 'rb'))

for line in reader:
    process_line(line)

См. Этот связанный вопрос . Я хочу отправлять строку процесса каждые 100 строк, чтобы реализовать пакетное сегментирование.

Проблема с реализацией соответствующего ответа заключается в том, что объект csv не имеет подписки и не может использовать len.

>>> import csv
>>> reader = csv.reader(open('dataimport/tests/financial_sample.csv', 'rb'))
>>> len(reader)
Traceback (most recent call last):
  File "", line 1, in 
TypeError: object of type '_csv.reader' has no len()
>>> reader[10:]
Traceback (most recent call last):
  File "", line 1, in 
TypeError: '_csv.reader' object is unsubscriptable
>>> reader[10]
Traceback (most recent call last):
  File "", line 1, in 
TypeError: '_csv.reader' object is unsubscriptable

Как я могу решить эту проблему?

18
задан smci 29 May 2018 в 23:13
поделиться