繁体   English   中英

带有列别名的 PSQL 到 CSV 会导致文件损坏

[英]PSQL to CSV with column alias leads to corrupted file

我设法在 Windows 上使用 PSQL 将 SQL 查询直接导出到 CSV 文件中,只要我不使用别名(使用 AS)重新定义列名,一切都可以正常工作。

但是一旦我使用列别名,例如:

\copy (SELECT    project AS "ID" FROM    mydb.mytable WHERE  project > 15 ORDER BY project)  TO 'C:/FILES/user/test_SQL2CSV.csv' DELIMITER ',' CSV HEADER

我对 CSV 文件有意外行为。

  • 在 Excel 中:CSV 已损坏且为空白
  • 在记事本中:数据存在,但没有分隔符或空格(连续,例如 ID27282930...)
  • 在 Notepad++ 中:数据在列中组织良好

(例如

ID
27
28
29
30
...

)

有什么办法可以直接在 Excel 中读取导出的文件(就像我不使用别名时那样)?

在测试了查询的各种其他配置后,我发现了问题。 显然,Excel 将以“ID”开头的文件解释为某种 SYLK 格式而不是 CSV...将列别名重命名为例如“MyID”修复了该问题。

参考这里: annalear.ca/2010/06/10/why-excel-thinks-your-csv-is-a-sylk

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM