Как трактовать запятую как текст в выводе? - PullRequest
0 голосов
/ 02 декабря 2011

1 столбец содержит запятые. Когда я вывожу свой запрос в csv, эти запятые нарушают формат csv. То, что я делал, чтобы избежать этого, является простым заменить (A. "Торговый представитель", ',', '')

Есть ли лучший способ сделать это так, чтобы я мог получить запятые в конечном выводе, не нарушая файл CSV?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 02 декабря 2011

Вы можете использовать команду COPY , чтобы PostgreSQL создал для вас CSV:

COPY - скопировать данные между файлом и таблицей

Примерно так:

copy your_table to 'filename' csv
copy your_table to 'filename' csv force quote *
copy your_table to stdout csv force quote *
copy your_table to stdout csv force quote * header
...

Вы должны быть суперпользователем, чтобы скопировать имя файла.Если вы находитесь внутри psql, вы можете использовать команду \copy :

Выполняет копию клиентского интерфейса.Это операция, которая запускает команду SQL COPY, но вместо чтения или записи указанного файла сервером psql читает или записывает файл и направляет данные между сервером и локальной файловой системой.

Синтаксис почти такой же:

\copy your_table to 'filename.csv' csv force quote * header
...
1 голос
/ 02 декабря 2011

Цитировать поля с "

a,this has a , in it,b

станет

a,"this has a, in it",b

, и если поля имеют ОБА , и ", удвойте кавычки:

a,this has a " and , in it,b

становится

a,"this has a "" and , in it",b
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...