2016-04-26 7 views

答えて

1

このような大きなファイルの場合、タイムアウトとは何を意味するのかよく分かりませんが、それには常に時間がかかります。

tokens = {} 
with open("your.csv") as infile: 
    for line in infile: 
     columns = line.split(',') 
     # Where idx is your desired column index 
     if columns[idx] not in tokens: 
      tokens[columns[idx]] = 0 
     else: 
      tokens[columns[idx]] += 1 

print tokens 

これはファイルを1行ずつ読み込むため、217 GB全体をRAMにロードしても計算がクラッシュしません。最初にこれを試して、辞書がコンピュータのメモリに収まるかどうかを調べることができます。さもなければ、分割と征服のアプローチでファイルをより小さなチャンクに分割することを検討したいかもしれません。

-1

あなたは(サイズの性質によって)長い時間がかかるだろう、この巨大なファイルを処理し、@plsnoban述べたようfield_size_limit

import csv 
csv.field_size_limit(1000000000) 

r = csv.reader(open('doc.csv', 'rb')) 

for row in r: 
    print(row) # do the processing 
関連する問題