【问题标题】:Upload CSV file into postgresql将 CSV 文件上传到 postgresql
【发布时间】:2022-01-25 21:51:24
【问题描述】:

我正在尝试将 CSV 文件上传到 PostgreSQL,但收到以下错误消息: 错误:编码“UTF8”的字节序列无效:0xa0 上下文:复制员工,第 95 行 SQL状态:22021 首先我创建表:

Create table employees (EMPLOYEE_ID int, NAME varchar (100), TITLE varchar (100), JOBFAMILY varchar (5), RC int, TMREG numeric(1000,2),TMNONREG numeric(1000,2), PUGET numeric(1000,2), EDS numeric(1000,2), HOLDCO numeric(1000,2),TMEP numeric(1000,2), Total numeric(1000,2), CATEGORY int, TMEPDED varchar(3), ACTIVITY varchar(100))

Then I try to pull the data:
COPY employees (EMPLOYEE_ID, NAME, TITLE, JOBFAMILY, RC, TMREG, TMNONREG, PUGET, EDS, HOLDCO, TMEP, Total, CATEGORY, TMEPDED, ACTIVITY)
FROM 'C:\Jorge\Project\Source\employees.csv'
DELIMITER ','
CSV HEADER;

我收到上述错误消息。 请问有什么帮助吗? 乔治

【问题讨论】:

  • 这通常发生在被拉入的文件与服务器的编码不同时。在psql 做:1)show lc_ctype ; 2) show client_encoding ;`。还有什么操作系统和版本正在运行,它的编码是什么?添加答案以更新您的问题。
  • 谢谢,那我该怎么办?
  • 您还没有提供信息,所以从这里很难说该怎么做?
  • @JorgeTorres 如何将 NULL 存储在 csv 中作为 NULL 或 'NULL'。???

标签: postgresql


【解决方案1】:

使用这个:

COPY employees (EMPLOYEE_ID, NAME, TITLE, JOBFAMILY, RC, TMREG, TMNONREG, PUGET, 
EDS, HOLDCO, TMEP, Total, CATEGORY, TMEPDED, ACTIVITY)
FROM 'C:\Jorge\Project\Source\employees.csv'
DELIMITER ',' 
NULL
CSV HEADER;

您还必须将 Null 指定为 csv 中的列。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-06
    • 1970-01-01
    • 2012-05-05
    • 2021-09-23
    • 1970-01-01
    • 1970-01-01
    • 2014-08-11
    • 2021-12-23
    相关资源
    最近更新 更多