2017-01-26 12 views
0
import csv 
with open("C:\Anaconda3\FalkParameters\AllModels.csv","r") as f: 
    reader = csv.reader(f) 
    listofModels = list(reader) 

AllModelsは、巨大なcsvファイル(2.4 GB)です。私はアプリケーション(ノートパッド、メモ帳++、Excelなど)で開くことができないので、そこにいくつの行があるのか​​分かりません。csv pythonの最大の行数が処理できますか?

上記のコードは正常に動作しますが、「listofModels」を印刷しようとするとコンソールが印刷を開始しますが、ある時点で「ValueError:I/O操作が閉じたファイル」になります。印刷は毎回異なる行で停止します。

私は巨大なcsvファイルをPythonで処理する方法があるのだろうかと思っていました。

答えて

5

リストに変換しないでください。むしろジェネレータを代わりに使用してください。 一度に1つの値/行を印刷します。

for line in reader: 
    print line 

+0

私はそれがそうだと確信しています! –

+0

はい、一度に大きなファイルを印刷するとメモリがいっぱいになるため、印刷できなくなる可能性があります。 –

+0

どうもありがとう! – DPdl