banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oubliĂ© ?

#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: 1226

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: 1226

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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 10053
Site web

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: 1566

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: 1566

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

 

Pied de page des forums

Copyright Association GeoRezo