如何使用postgres SQL形成正确的CSV行

xdyibdwo  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(93)

是否可以查询Postgresql以获得正确的CSV行?例如select concat (a,',',b) from t,但必须使用正确的转义逗号和引号。

ukqbszuj

ukqbszuj1#

有几个选择。
使用psql

select * from some_table \g (format=csv) output.csv

这将创建一个名为output.csv的CSV文件。

\copy cell_per to 'output.csv' WITH(format csv, header, delimiter '|');

上面允许你使用这里解释的选项COPY来做一些事情,比如改变delimiterquoting等。
您也可以直接使用COPY作为查询。但是在这种情况下,需要注意的是COPY以服务器用户的身份运行,并且只能将文件写入服务器用户有权限的目录。解决方法是将输出转到STDOUT并捕获它。例如,使用Python驱动程序psycopg2时,有copy方法复制。

相关问题