Ich habe eine 100M Linie CSV-Datei (eigentlich viele separate CSV-Dateien) mit insgesamt 84 GB. Ich muss es in eine HDF5-Datei mit einem einzigen Float-Datensatz konvertieren. Ich habe h5py im Test ohne irgendwelche Probleme verwendet, aber jetzt kann ich den endgültigen Datensatz nicht mehr ausführen, ohne den Arbeitsspeicher zu verlassen.Convert große csv zu hdf5
Wie kann ich in HDF5 schreiben, ohne den ganzen Datensatz im Speicher ablegen zu müssen? Ich erwarte hier tatsächlichen Code, weil es ziemlich einfach sein sollte.
Ich habe gerade in pytables untersucht, aber es sieht nicht wie die Array-Klasse (die einem HDF5-Datensatz entspricht) kann iterativ geschrieben werden. Ähnlich Pandas hat read_csv
und to_hdf
Methoden in seiner io_tools
, aber ich kann nicht den gesamten Datensatz auf einmal laden, so dass es nicht funktioniert. Vielleicht können Sie mir helfen, das Problem mit anderen Tools in Pytables oder Pandas korrekt zu lösen.