如何成功导入Excel CSV到PostgreSQL?

我能够使用此方法导入两个表,但它不适用于第三个表。 当我运行查询它不显示错误只是显示空白。

Postgresql COPY CSV错误:最后一个预期的列之后的额外数据

我从上面得到了格式。

CREATE TABLE GrossNewHomeSales (ID varchar not null primary key, nhs_transaction_id varchar not null unique, nhs_week_ending varchar, nhs_sale_date varchar, nhs_owner_name varchar, nhs_owner_age varchar, nhs_address varchar, nhs_sf varchar, nhs_realtor_sale varchar, nhs_realtor_name varchar, nhs_realtor_office varchar, nhs_prev_zip varchar, nhs_employment varchar ); COPY GrossNewHomeSales (ID, nhs_transaction_id, nhs_week_ending, nhs_sale_date, nhs_owner_name, nhs_owner_age, nhs_address, nhs_sf, nhs_realtor_sale, nhs_realtor_name, nhs_realtor_office, nhs_prev_zip, nhs_employment ) FROM 'C:\Program Files\PostgreSQL\9.6\data\GrossNewHomeSales.csv' WITH CSV HEADER DELIMITER ','; 

PostgreSQL可能期望对该文件使用UTF8编码,但是由于您在Windows上创build了该文件,因此它不是。 你有两个select:

  1. 用UTF8编码保存文件。

    应该像打开记事本中的CSV(或等价物)并使用正确的(UTF8)编码保存一样简单。

  2. COPY命令中指定正确的编码。

    例如: ENCODING 'WIN1257'

以下是PostgreSQL支持的列表: https : //www.postgresql.org/docs/current/static/multibyte.html