使用强制引号将数据发布到csv

时间:2017-09-07 10:25:05

标签: postgresql talend

我正在尝试使用以下查询将postgres表格数据提取到CSV格式,默认情况下它会给出' |'作为分隔符,但在表数据中有多个分隔符,所以我想通过使用""来获取数据。 as delimiter或force_quote

psql -h host -p port -U user -d dbname --no-align -c "SELECT * from sample" > D:\sample.csv

任何人都可以从这个问题中解脱出来......提前谢谢

2 个答案:

答案 0 :(得分:1)

如@a_horse_with_no_name所示,您可以使用smth来执行此操作:

psql -h host -p port -U user -d dbname --no-align -c "\copy (select * from sample) to stdout with (format csv, force_quote *, quote \$\$'\$\$)" > D:\sample.csv

或将代码缩减为更整洁的版本:

psql -h host -p port -U user -d dbname --no-align -c "\copy sample to 'D:\sample.csv' with (format csv, force_quote *, quote \$\$'\$\$)" > 

当然,如果你发现它更具可读性,你可以将\$\$'\$\$更改为'''' ......

答案 1 :(得分:0)

做一份像以下一样的工作:

hello

并在tpostgres输入中的查询中添加“选择”条件。