2016-05-27 9 views
0

長が長すぎる Linux indexer 3.19.0-59-generiC#66~14.04.1-Ubuntu SMP Fri May 13 17:27:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linuxオーバーフロー:私は30ギガバイトのメモリを持って、このVM上の24ギガバイトのcsvを読み込むしようとしている <code>OverflowError: length too large</code></p> <p>:私は、エラーを受信して​​い

私の可能な解決策は何ですか?私はPythonでサイズ制限に精通していないよ:

csv_file = csv.reader(media.read().splitlines(), delimiter=mapping['delimiter'], quoting=csv.QUOTE_NONE) 
+0

チャンクで読み込んで処理します。要件で許可されていない場合は、データをデータベースにインポートします。 –

答えて

3

それが一度にファイル全体をメモリに読み込みますし、それはあまりにも多くのだから.read().splitlines()を削除します。ファイルオブジェクトmediaはすでに行のイテレータであるため、csv.readerはそれを正しく処理します。その後、リーダーを繰り返し、必要な行を行単位で実行します。

関連する問題

 関連する問題