【问题标题】:COPY command and newline errorCOPY 命令和换行错误
【发布时间】:2014-07-16 02:43:01
【问题描述】:

我有我的简单 CSV 文件,用逗号分隔,没有奇怪的字符,当尝试从 '/srv/www/.../CSV.csv' WITH DELIMITER ',' 执行 \COPY 表时,我得到了错误

 ERROR:  literal newline found in data
 HINT:  Use "\n" to represent newline.

这不是我第一次执行 COPY 并且从未发生在我身上。我将 CSV 从 excel 导出到记事本并在此处另存为 CSV(我知道有些程序会添加额外的信息,但 AFAIK 记事本没有)

【问题讨论】:

  • 尝试直接从 Excel 导出到 csv。
  • 我的猜测是电子表格中的某些单元格包含换行符(例如,有人输入了 test [ALT+Enter] test。您可以尝试使用类似 FIND(CHAR(10),a1) 的方式在 Excel 中测试您的数据。

标签: postgresql


【解决方案1】:

如果要导入 CSV,则必须指定 FORMAT CSV。在 PostgreSQL 的默认分隔输入中,文字换行符是不合法的。

 \COPY table FROM '/srv/www/.../CSV.csv' WITH (FORMAT CSV, DELIMITER ',');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-18
    • 2015-04-22
    • 2019-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多