#1 Sun 20 January 2013 21:26
- lovegeo
- Participant actif
- Date d'inscription: 18 Jan 2012
- Messages: 114
COPY FROM + CSV + Les titres des colonnes ?
Bonjour,
J'ai un fichier excel, que j'enregistre en .CSV afin d'importer les données dans une table que je crée sous POSTGRESQL.
Problème : les noms des colonnes ne s'affichent pas! Au début, elles s'affichaient, mais j'ai
Voici le script :
Code :
Sélectionner tout - Visualiser dans une fenêtre à part
Code:
CREATE SCHEMA geocoduu; SELECT populate_geometry_columns(); /*DROP TABLE geocoduu.adresses;*/ CREATE TABLE geocoduu.adresses( ville text ,Lat double precision ,Lng double precision ,Accuracy integer ,NbAdrReturned integer ,Error_Address text ); COPY geocoduu.adresses (ville, Lat, Lng, Accuracy, NbAdrReturned, Error_Address) FROM 'F:/mondossier/geocodage_uu.csv' WITH DELIMITER AS ';' CSV HEADER;
Vous me direz, les colonnes Accuracy, NB... et Error... ne servent à rien. Il n'empêche qu'il faut toujours les noms des colonnes...
J'ai essayé en enlevant HEADER, en rajoutant des FORCE NOT NULL, mais pas de succès.
En outre, enlever HEADER fait descendre les entêtes de colonnes comme 1ère ligne d'enregistrement lors de l'import sous POST GRE, ce qu'il ne faut pas bien sûr.
Comme on le peut voir, je crée des noms de colonnes pour la table, mais ils ne s'affichent pas!
J'abdique, car cela fait tout de même plusieurs heures...
Si vous savez comment les importer Merci
Chercher sur internet n'a rien, le site de PostGre n'est pas clair, donc
Hors ligne
#2 Sun 20 January 2013 21:44
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1160
Re: COPY FROM + CSV + Les titres des colonnes ?
Salut,
ca veut dire quoi le nom des colonnes ne s'affichent pas ? Dans PgAdmin ? en ligne de commande ?
Hors ligne
#3 Sun 20 January 2013 22:40
- lovegeo
- Participant actif
- Date d'inscription: 18 Jan 2012
- Messages: 114
Re: COPY FROM + CSV + Les titres des colonnes ?
Dans PgAdmin ?
Oui, dans la table sous PgAdmin, les noms des colonnes n'apparaissent pas. Or, j'ai besoin des noms de colonnes pour ensuite, les nommer lorsque je ferai des requêtes.
en ligne de commande ?
Mon script est bon, donc, il n'y a pas de message d'erreur lors de l'exécution du script, mais donc, lorsque je vais regarder la table, il n'y a pas les noms de colonne en entête de la table.
Dernière modification par lovegeo (Sun 20 January 2013 23:15)
Hors ligne
#4 Mon 21 January 2013 10:07
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1160
Re: COPY FROM + CSV + Les titres des colonnes ?
A tout hasard, mettre le nom des colonnes entre double-quote ?
Ou alors peut être est ce une histoire de locale.
Hors ligne
#5 Mon 21 January 2013 10:13
Re: COPY FROM + CSV + Les titres des colonnes ?
Bonjour,
Souvent le problème avec pgAdmin est qu'il faut rafraichir l'interface, surtout si on supprime la table pour la recréer. Celle qui reste afficher est l'ancienne qui n'existe plus (clic droit sur la base de données à gauche > Rafraîchir).
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#6 Mon 21 January 2013 12:42
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: COPY FROM + CSV + Les titres des colonnes ?
Bonjour,
la clause 'CSV HEADER' indique q COPY que le fichier CSV contient un header (les noms des colonnes) qu'il faut ignorer, puisque seules les données interessent COPY: les colonnes sont deja dans la table geocoduu.adresses
Pour vérifier que le copy a marché:
select count(*) from geocoduu.adresses;
et vérifier que le nombre de lignes correspond au fichier CSV.
Ensuite un select * from geocoduu.adresses; vous listera les colonnes en sortie.
Nicolas
Hors ligne
#7 Mon 21 January 2013 18:44
- lovegeo
- Participant actif
- Date d'inscription: 18 Jan 2012
- Messages: 114
Re: COPY FROM + CSV + Les titres des colonnes ?
Bonjour,
Ca marche, pour mon code aussi d'ailleurs. J'ai changé de PC, donc ?????
Néanmoins, des doublons se sont créés (3, négligeables, mais il faut tout de même une liste correcte).
Pourquoi ? Lors de l'export du .XLS en .CSV, il y a une mise en garde pour des différences de caractères qui pourront ne pas être reconnus. Est-ce cela ? Néanmoins, pourquoi ? Cet avertissement s'affiche dans tous les cas, pour tout type de fichiers...
merci...
Dernière modification par lovegeo (Mon 21 January 2013 18:45)
Hors ligne
#8 Mon 21 January 2013 19:07
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: COPY FROM + CSV + Les titres des colonnes ?
COPY ne crée pas de doublon: il insere les données présentes dans le fichier.
La table etait-elle vide avant la commande COPY ?
Si oui, alors les doublons sont dans le fichier CSV.
Vous pourrez les supprimer en sql.
Nicolas
Hors ligne