是否可以查询Postgresql以获得正确的CSV行?例如select concat (a,',',b) from t,但必须使用正确的转义逗号和引号。
select concat (a,',',b) from t
ukqbszuj1#
有几个选择。使用psql
select * from some_table \g (format=csv) output.csv
这将创建一个名为output.csv的CSV文件。
output.csv
\copy cell_per to 'output.csv' WITH(format csv, header, delimiter '|');
上面允许你使用这里解释的选项COPY来做一些事情,比如改变delimiter,quoting等。您也可以直接使用COPY作为查询。但是在这种情况下,需要注意的是COPY以服务器用户的身份运行,并且只能将文件写入服务器用户有权限的目录。解决方法是将输出转到STDOUT并捕获它。例如,使用Python驱动程序psycopg2时,有copy方法复制。
delimiter
quoting
COPY
STDOUT
psycopg2
copy
1条答案
按热度按时间ukqbszuj1#
有几个选择。
使用psql
这将创建一个名为
output.csv
的CSV文件。上面允许你使用这里解释的选项COPY来做一些事情,比如改变
delimiter
,quoting
等。您也可以直接使用
COPY
作为查询。但是在这种情况下,需要注意的是COPY
以服务器用户的身份运行,并且只能将文件写入服务器用户有权限的目录。解决方法是将输出转到STDOUT
并捕获它。例如,使用Python驱动程序psycopg2
时,有copy
方法复制。