excel - 具有列别名的 PSQL 到 CSV 导致文件损坏

标签 excel postgresql csv copy psql

我设法在 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 - 具有列别名的 PSQL 到 CSV 导致文件损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41872351/

相关文章:

excel - 如何在 VBA 中编写克隆 SUMIF 函数?

postgresql - 如何减少 PostgreSQL 数据库的大小?

postgresql - 从平面文件插入 GPFdist 在插入时抛出错误 'invalid byte sequence for encoding "UTF 8": 0x00'

postgresql - 用花括号括起包含特殊字符的密码不起作用

python - 在 Python csv 中跳过多行

用于处理 Excel 文件的 Python 内置模块

html - 通过 Excel 从文件加载时,自定义 HTML 元素符号在 IE 11 中不起作用

excel - 如何在数据透视表中选择 lastrow 之前的行?

excel - 在 Excel 中创建逗号分隔值(使用数据透视表)?

csv - Neo4j 批量导入中作为 int 的 ID 在关系导入中产生错误