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é ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
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: 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

 

Pied de page des forums

Powered by FluxBB