【发布时间】:2017-01-26 11:20:51
【问题描述】:
我设法在 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
标签: excel postgresql csv copy psql