2017-01-15 4 views
1

Ich habe eine riesige CSV-Datei (7,98 Gio) heruntergeladen, um es in eine Postgres-Datenbank zu importieren. Das Problem ist, dass die Datei in ISO-8859 kodiert ist und wenn ich sie in Postgres importieren möchte, muss sie in UTF-8 sein.Iconv auf Windows Ubuntu-Subsystem

Also habe ich versucht, es in utf-8 mit iconv Befehl auf Ubuntu Subsystem (in Windows 10 integriert) zu konvertieren. Das Problem ist, dass die Ausgabedatei im Eigenschaftenfenster der Ausgabedatei immer noch leer ist. Der Befehl wird erst beendet, wenn Strg + C gedrückt wird.

Hier ist mein Befehl:

iconv -t utf-8 < sirc-17804_9075_14209_201612_L_M_20170104_171522721.csv > xaus.csv 

ich viele Syntaxen habe versucht, aber keiner von Thema der Ausgabedatei bevölkert ...

PS sorry für mein Englisch Ich bin französisch

edit: nach einem sehr langen Zeitraum der Befehle Ausgänge:

iconv: unable to allocate buffer for input: Cannot allocate memory 

Antwort

1

iconv scheint die gesamte Datei in den Arbeitsspeicher laden zu wollen, was für große Dateien problematisch sein kann. Eine mögliche Lösung finden Sie unter iconv-chunks; von der iconv-chunks Beschreibung:

Dieses Skript ist nur ein Wrapper, der die Eingabedatei in verwaltbaren Chunks verarbeitet und sie in die Standardausgabe schreibt.

+0

danke ich habe iconv-chunks mit einer kleineren Datei von 2 Gio getestet und es hat funktioniert! Also habe ich den Test mit der riesigen Datei gestartet. Ich werde den Post als aufgelöst markieren, sobald meine Datei vollständig konvertiert wurde. :) Danke für den Tipp – lportemo

Verwandte Themen