“données supplémentaires après la dernière attendus de la colonne” tout en essayant d'importer un fichier csv dans postgresql

J'ai essayer de copier le contenu d'un fichier CSV dans mon postgresql db et je reçois ce message d'erreur "données supplémentaires après la dernière attendus de la colonne".

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 mon postgresql commande 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 | 
  • Cela signifie que l'utilisation de la , séparateur, le copy commande analysé plus de champs que la table de destination! Pouvez vous s'il vous plaît apporter votre table de destination de structure de données et des échantillons de votre CSV contenu ?
  • J'ai essayé de spécifier les colonnes, mais c'est toujours le même problème. J'ai édité ma question.
  • Votre table contient 3 colonnes, mais votre fichier csv que vous souhaitez importer contient 6
  • Oui mais je spécifier les colonnes que je veux importer comme spécifié dans la documentation postgresql.org/docs/9.2/static/sql-copy.html "Si une liste de colonnes est spécifié, la COPIE ne copie les données dans les colonnes spécifiées ou à partir du fichier. S'il y a des colonnes de la table qui ne sont pas dans la liste des colonnes, COPIE DE la volonté d'insérer les valeurs par défaut pour les colonnes."
  • Oui, mais sadely, postgreSQL copy commande ne peut pas gérer de sélection de colonne de votre fichier. En d'autres termes, vous ne pouvez copier tout le fichier à la fois!
  • Ce que cette colonne déclaration signifie alors?
  • Vous pourriez avoir une table avec 6 colonnes et d'un fichier ne contenant que 3 champs par exemple, et vous pouvez importer vos 3 champs à un spécific colonnes de votre table...
  • J'ai créé un tableau avec tous les gtfs champs et je précise mes colonnes, mais j'ai toujours le même message d'erreur.
  • Je pense que maintenant vous pouvez faire quelque chose comme: COPY agency (agency_id, agency_name, agency_url, agency_timezone,agency_lang,agency_phone) FROM 'myFile.txt' CSV HEADER DELIMITER ',';