2016-05-05 11 views
1

Ich brauche Analysedaten, aber die Datei ist 9 GB. Wenn ich versuche, es zu öffnen, wird Python unterbrochen und gibt MemoryError zurück.Wie öffnet man große Datei (9 GB) mit Python?

data = pd.read_csv("path.csv") Gibt es eine Möglichkeit, dieses Problem zu lösen, oder ich sollte diese Datei löschen?

+0

Haben Sie die gesamte Datei öffnen müssen? Sie können 'chunksize'-Parameter an' read_csv' übergeben, der einen Chunk nach dem anderen zurückgibt, auch verwenden Sie 64-Bit-Python, OS usw. – EdChum

+0

Welche Art von Daten enthält es? Vielleicht würde eine oder zwei Beispielzeilen helfen. Und brauchen Sie alle Daten darin oder nur eine Untermenge? Wie viel Speicher hast du auf deinem System? Haben Sie eine 1-GB-Teilmenge dieser Datei ausprobiert? Haben Sie ein 64-Bit-Betriebssystem? Welches Betriebssystem? –

+0

Wenn Sie Ihre Datei als Generator verwenden (mit offenem (Datei) als f: für Zeile in f), dann müssen Sie dies nicht sofort hochladen und können iterativ etwas tun. Ich glaube nicht, dass Sie in der Lage sein werden, Pandas zu verwenden, weil es davon ausgeht, dass Sie die Datei in den Speicher – trainset

Antwort

1

Wie von EdChum erwähnt, benutze ich chunksize=n, um große Dateien in Chunks zu öffnen, dann durch die Chunks zu durchlaufen, um zu tun, was immer Sie brauchen. Geben Sie die Anzahl der Zeilen, die Sie in jedem ‚Brocken‘ wollen von Daten und wie folgt geöffnet:

chunks = 100000 
data = pd.read_csv("path.csv", chunksize=chunks) 
for chunk in data: 
    print "something" 

this helps :)

Verwandte Themen