2016-04-26 1 views

Antwort

1

Nicht sicher, was Sie mit Timeout meinen, für große Dateien wie diese wird es immer eine lange Zeit dauern.

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 

Diese lädt die Datei Zeile für Zeile, so dass Ihr Compute von dem Laden der gesamten 217 Gb in den Arbeitsspeicher nicht abstürzt. Sie können dies zuerst ausprobieren, um zu sehen, ob das Wörterbuch in den Speicher Ihres Computers passt. Andernfalls möchten Sie vielleicht die Dateien in kleinere Teile aufteilen, um sie zu teilen.

-1

Sie könnten versuchen, die 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 
Verwandte Themen