CSVファイルの内容をpostgresql dbにコピーしようとすると、このエラー「最後の予想列の後の追加データ」が表示されます。
CSVのコンテンツは
agency_id,agency_name,agency_url,agency_timezone,agency_lang,agency_phone
100,RATP (100),http://www.ratp.fr/,CET,,
私のpostgresqlコマンドは
COPY agency (agency_name, agency_url, agency_timezone) FROM 'myFile.txt' CSV HEADER DELIMITER ',';
こちらが私のテーブルです
CREATE TABLE agency (
agency_id character varying,
agency_name character varying NOT NULL,
agency_url character varying NOT NULL,
agency_timezone character varying NOT NULL,
agency_lang character varying,
agency_phone character varying,
agency_fare_url character varying
);
Column | Type | Modifiers
-----------------+-------------------+-----------
agency_id | character varying |
agency_name | character varying | not null
agency_url | character varying | not null
agency_timezone | character varying | not null
agency_lang | character varying |
agency_phone | character varying |
agency_fare_url | character varying |
これで7つのフィールドができました。
CSVのこれらの6つのフィールドをテーブルの6つのフィールドにマッピングする必要があります。
あなたがするように6がある場合、csvから3つのフィールドのみをマッピングすることはできません:
\COPY agency (agency_name, agency_url, agency_timezone) FROM 'myFile.txt' CSV HEADER DELIMITER ',';
Csvファイルのすべてのフィールドは、copy fromコマンドでマップする必要があります。
そして、csv ,
区切り文字はデフォルトです。配置する必要はありません。
これが答えとしてカウントされるかどうかはわかりませんが、私はこれを多数のCSVファイルでヒットし、Excelで開いて変更せずに再保存するだけでエラーがなくなることがわかりました。 IOTWソースファイルには、Excelが自動的にクリーンアップできる誤ったフォーマットが含まれている可能性があります。