2013-08-29 6 views
5

ich exportiert einige Daten aus einer PostgreSQL-Datenbank unter Verwendung von (alle) die Anweisung (en) veröffentlicht hier: Save PL/pgSQL output from PostgreSQL to a CSV filePostgresql: CSV-Export mit entkam Zeilenumbrüchen

Aber einige exportierte Felder enthält Zeilenumbrüche (Zeilenumbrüche), so habe ich eine CSV Datei wie:

header1;header2;header3 
foobar;some value;other value 
just another value;f*** value;value with 
newline 
nextvalue;nextvalue2;nextvalue3 

Wie kann ich diese Zeilenumbrüche (letter) umgehen (oder ignorieren)?

Antwort

5

Zeilenumbrüche werden in CSV unterstützt, wenn die Felder, die sie enthalten, in doppelte Anführungszeichen eingeschlossen sind.

Also, wenn Sie diese in der Mitte der Datei hatten:

 
just another value;f*** value;"value with 
newline" 

es wird mit 3 Feldern als 1 Zeile von Daten verteilt auf 2 Linien werden und funktionieren.

Auf der anderen Seite, ohne die Anführungszeichen, ist es eine ungültige CSV-Datei (wenn es 3 Felder wirbt).

Obwohl es keine formale Spezifikation für das CSV-Format gibt, können Sie unter RFC 4180 nach den Regeln suchen, die allgemein gelten.

+1

Vielen Dank. Du hast recht. Das Problem war nicht der CSV-Export, sondern der Import in Excel. Mit libreoffice kann die Datei importiert werden. – t777

Verwandte Themen