包含逗号的1列。当我将查询输出到csv时,这些逗号会破坏csv格式。我为避免这种情况而做的事情很简单 替换(A。"销售代表",',','')
是否有更好的方法可以在不破坏csv文件的情况下实际获取最终输出中的逗号?
谢谢!
答案 0 :(得分:2)
您可以使用COPY command让PostgreSQL为您构建CSV:
COPY - 在文件和表格之间复制数据
像其中一个:
copy your_table to 'filename' csv
copy your_table to 'filename' csv force quote *
copy your_table to stdout csv force quote *
copy your_table to stdout csv force quote * header
...
您必须是超级用户才能复制到文件名。如果您在psql
内,则可以使用\copy
command:
执行前端(客户端)副本。这是一个运行SQL COPY命令的操作,但是psql不是读取或写入指定文件,而是读取或写入文件,并在服务器和本地文件系统之间路由数据。
语法几乎相同:
\copy your_table to 'filename.csv' csv force quote * header
...
答案 1 :(得分:1)
使用"
a,this has a , in it,b
会变成
a,"this has a, in it",b
如果字段分别为,
和"
,则引号加倍:
a,this has a " and , in it,b
变为
a,"this has a "" and , in it",b