2016-07-26 3 views
2

이 방법을 사용하여 두 개의 테이블을 가져올 수 있지만 세 번째 테이블에서 작동하지 않습니다. 쿼리를 실행하면 오류가 표시되지 않고 단지 비어있는 것으로 표시됩니다. PostgreSQL으로 Excel CSV를 성공적으로 가져 오는 방법은 무엇입니까?

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에서 파일을 만든 이후, 그것을하지 않습니다. 다음 두 가지 중에서 선택할 수 있습니다.

  1. 파일을 UTF8 인코딩으로 저장하십시오.

    메모장 (또는 동등한 버전)에서 CSV를 열고 적절한 (UTF8) 인코딩으로 저장하는 것처럼 간단해야합니다.

  2. COPY 명령에서 적절한 인코딩을 지정하십시오.

    예 : https://www.postgresql.org/docs/current/static/multibyte.html

    : ENCODING 'WIN1257'

    다음

는 PostgreSQL을 지원하는 것의 목록입니다

관련 문제