基本的に、私は次のプロセスを持っていました。
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 "<stdin>", line 1, in <module>
TypeError: object of type '_csv.reader' has no len()
>>> reader[10:]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: '_csv.reader' object is unsubscriptable
>>> reader[10]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: '_csv.reader' object is unsubscriptable
どうすればこれを解決できますか?