"données supplémentaires après la dernière colonne attendue" en essayant d'importer un fichier csv dans postgresql
j'essaie de copier le contenu D'un fichier CSV dans mon db postgresql et j'obtiens cette erreur "données supplémentaires après la dernière colonne attendue".
le contenu de mon CSV est
agency_id,agency_name,agency_url,agency_timezone,agency_lang,agency_phone
100,RATP (100),http://www.ratp.fr/,CET,,
et ma commande postgresql est
COPY agency (agency_name, agency_url, agency_timezone) FROM 'myFile.txt' CSV HEADER DELIMITER ',';
Voici ma table
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 |
24
demandé sur
Frederic Le Feurmou
2014-11-02 19:41:50
2 réponses
Maintenant, vous avez 7 champs.
vous devez faire la correspondance entre les 6 champs de la CSV et les 6 champs de la table.
vous ne pouvez pas mapper seulement 3 champs de csv quand vous l'avez 6 comme vous le faites dans:
\COPY agency (agency_name, agency_url, agency_timezone) FROM 'myFile.txt' CSV HEADER DELIMITER ',';
tous les champs du fichier csv doivent être mappés dans la commande copy from.
, délimiteur par défaut, vous n'avez pas besoin de le mettre.21
répondu
Mladen Uzelac
2014-11-02 20:07:43
j'ai essayé votre exemple et cela fonctionne bien mais ....
votre commande de la ligne de commande psql est manquante \
database=# \COPY agency FROM 'myFile.txt' CSV HEADER DELIMITER ',';
Et la prochaine fois, veuillez inclure DDL
j'ai créé DDL
à partir du fichier csv en-têtes
0
répondu
Mladen Uzelac
2014-11-02 20:01:09