2016-07-26 8 views
2

このメソッドを使用して2つのテーブルをインポートできましたが、3番目のテーブルでは機能しません。クエリを実行すると、エラーが表示されないだけで空白が表示されます。Excel CSVをpostgreSQLにインポートするには?

Postgresql COPY CSV ERROR: extra data after last expected column

私は上からフォーマットを得ました。

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 ','; 

答えて

2

PostgreSQLは、おそらくファイルのUTF8エンコーディングを期待していますが、Windows上のファイルを作成しているので、そうではありません。次の2つの選択肢があります。

  1. ファイルをUTF8エンコーディングで保存します。

    メモ帳(または同等の機能)でCSVを開き、適切な(UTF8)エンコーディングで保存するだけで簡単です。

  2. COPYコマンドで適切なエンコードを指定してください。

    例:ここではENCODING 'WIN1257'

はPostgreSQLがサポートしているもののリストです: https://www.postgresql.org/docs/current/static/multibyte.html

関連する問題