2013-08-29 15 views
5

I eksportowane niektóre dane z bazy danych PostgreSQL przy użyciu (wszystkie) instrukcja (e) pisał tutaj: Save PL/pgSQL output from PostgreSQL to a CSV filePostgresql: CSV eksport ze zbiegłych wierszami

Ale niektóre eksportowane pola zawiera znaki nowej linii (linebreaks), więc mam CSV file like:

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

Jak mogę uciec (lub zignorować) te znaki nowej linii?

Odpowiedz

5

Podziały linii są obsługiwane w pliku CSV, jeśli pola, które je zawierają, są ujęte w cudzysłowy.

Więc jeśli miał to w środku pliku:

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

będzie ona traktowana jako 1 linia rozprzestrzeniania danych na 2 linie z 3 pól i po prostu pracować.

Z drugiej strony bez podwójnych cudzysłowów jest to nieprawidłowy plik CSV (gdy reklamuje 3 pola).

Mimo że nie ma formalnej specyfikacji dla formatu CSV, można zapoznać się z RFC 4180 dla zasad, które ogólnie mają zastosowanie.

+1

Dziękuję. Masz rację. Problemem nie był eksport CSV, ale import w Excelu. Za pomocą libreoffice można zaimportować plik. – t777

Powiązane problemy