Как экспортировать таблицу в формате CSV с заголовками на Postgresql?

Вот подробные отличия: -

`` r '' Откройте текстовый файл для чтения. Поток расположен в начале файла.

`` r + '' Открыт для чтения и записи. Поток расположен в начале файла.

`` w '' Усекать файл до нулевой длины или создать текстовый файл для записи. Поток расположен в начале файла.

`` w + '' Открыт для чтения и записи. Файл создается, если он не существует, в противном случае он усекается. Поток расположен в начале файла.

`` a '' Открыт для записи. Файл создается, если он не существует. Поток расположен в конце файла. Последующая запись в файл всегда будет заканчиваться в текущем конце файла независимо от любого промежуточного fseek (3) или подобного.

`` a + '' Открыт для чтения и записи. Файл создается, если он не существует. Поток расположен в конце файла. Последующая запись в файл всегда будет заканчиваться в текущем конце файла независимо от любого промежуточного fseek (3) или подобного.

blockquote>

Из документации python - http: //docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files:-

В Windows добавлен «b», добавленный в режим файл в двоичном режиме, поэтому существуют также такие режимы, как «rb», «wb» и «r + b». Python в Windows делает различие между текстовыми и двоичными файлами; конечные символы в текстовых файлах автоматически изменяются, когда данные считываются или записываются. Эта за кадром модификация файловых данных отлично подходит для текстовых файлов ASCII, но это приведет к повреждению двоичных данных, подобных этим в файлах JPEG или EXE. Будьте очень осторожны, чтобы использовать двоичный режим при чтении и записи таких файлов. В Unix не помешает добавить «b» в этот режим, поэтому вы можете использовать его независимо от платформы для всех двоичных файлов.

blockquote>

Итак, если вы используете w режиме, вы на самом деле пытаетесь создать файл, и у вас могут не быть разрешения на его выполнение. r+ является подходящим выбором.

Если вы находитесь в ситуации, когда вы еще не знаете, где ваш .picasi.ini существует или нет, и у вашего пользователя Windows есть разрешения на создание файлов в этом каталоге, и вы хотите добавьте новую информацию вместо начала в начале файла (ака «append»), тогда a+ будет подходящим выбором.

Это не имеет никакого отношения к тому, скрыт ли ваш файл или нет.

391
задан ivanleoncz 1 August 2019 в 04:29
поделиться

2 ответа

COPY products_273 TO '/tmp/products_199.csv' WITH (FORMAT CSV, HEADER);

as described in the manual.

575
ответ дан 22 November 2019 в 23:41
поделиться

Самый простой путь (использующий psql ), кажется, при помощи --csv флаг:

psql --csv -c "SELECT * FROM products_273" > '/tmp/products_199.csv'
0
ответ дан 22 November 2019 в 23:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: