簡體   English   中英

psql output csv 文件格式化

[英]Psql output csv file formatting

嘗試制作將從腳本文件中獲取查詢並將結果放入 csv 的批處理文件。批處理文件代碼:

psql -h host -d test -U test -p 5432 -a -q -f C:\Users\test\Documents\my_query.sql TO STDOUT WITH CSV HEADER DELIMITER ';' > C:\Users\test\Documents\res.csv

在結果文件中,我得到這樣的結果:

select *

from public.test

limit 3

    id    |    name     | count_01
----------+------------+---------------+
 11021555 | a       |             1 |
 39534568 | b       |             2 |
 11695210 | c       |             3 |

(3 rows)

如何僅獲取沒有行數和符號(如“|”)的腳本結果或 '+' 並使用 ';' 像通常的 csv 文件中的分隔符?

工作腳本:

psql -h host -d test -U test -p 5432 -q --quiet --no-align --field-separator=';' --file=C:\Users\test\Documents\my_query.sql --output=C:\Users\test\Documents\res.csv

從 PostgreSQL v12 開始,你可以使用psql的 CSV output 格式:

psql --quiet --csv --file=my_query.sql --output=res.csv

--quiet抑制psql歡迎信息。

應該與

psql -h host -d dbname -U user -p port -a -q -f my_query.sql -o res.csv --record-separator=',' --csv

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM