【发布时间】:2015-05-25 06:50:31
【问题描述】:
我在将 PostgreSQL 输出从 shell 导出到 csv 文件时遇到问题。
我的 SQL 脚本叫做script.sql。
我在 shell 中输入了以下命令:
psql congress -af script.sql &> filename.csv
但是当我打开 filename.csv 文件时,所有列的值都被压缩到 Excel csv 中的一列中(见附件截图)。
然后我尝试了另一种方法。我将script.sql 编辑为:
Copy (Select * From ...) To '/tmp/filename.csv' With CSV;
然后我在数据库 dbname 的 shell 中键入以下命令。
\i script.sql
输出是:
COPY 162
嗯,我的输出查询有 162 行。
所以我的输出表的 162 行已被复制到 shell 中。如何将它们粘贴或移动到 csv 文件?
或者,如果我要使用 filename.csv(已附上屏幕截图),我该如何修复该 csv/Excel 文件的格式?
【问题讨论】:
-
当您在 Excel 或其他类似程序中打开文件时,将分隔符更改为 '|'
-
在此处查看更全面的答案,它阐明了
COPY(服务器端)查询中的\copy(客户端)psql:stackoverflow.com/questions/1517635/…
标签: postgresql shell csv export-to-excel export-to-csv