IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

COPY FROM + CSV + les titres des colonnes ?


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 306
    Par défaut 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
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    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

  2. #2
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 101
    Par défaut
    Les noms de colonnes contiennent des majuscules.
    Dans une requête SQL "normale" en PostgreSQL, il est de bonne pratique de mettre les noms de colonnes entre guillemets à cause de ces problèmes de sensibilité à la casse. Je n'en suis pas sûr à 100% mais peut-être qu'il en est de même dans COPY?

    De manière générale il vaut mieux n'utiliser que des minuscules (et éviter les caractères accentués, des espaces etc...) dans des noms de colonnes aussi bien dans PostgreSQL (comme d'ailleurs dans les autres bases de données) que dans un fichier Excel.
    Quand il faut vérifier la casse et/ou échapper avec des guillemets une instruction qui ne concerne qu'une seule table, c'est déjà rarement triste, alors quand cela concerne un script complet, une vue ou une requête avec un grand nombre de champs et de clés étrangères...

    A tout hasard, vérifie aussi si un changement d’encodage (tel qu'un passage du codepage 1252 vers l'UTF8 ou l'inverse) ne provoque pas une perte de caractères dans le CSV qui est produit par Excel, et si l’instruction COPY PostgreSQL comprend bien l'encodage du fichier.

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Par défaut
    Citation Envoyé par logiclogic Voir le message
    Comme on le peut voir, je crée des noms de colonnes pour la table, mais ils ne s'affichent pas!
    Ils ne s'affichent pas où?
    Le CREATE TABLE et le COPY montrés sont bons, mais ils ne sont pas censés afficher quoi que ce soit.

Discussions similaires

  1. Comment fusionner les titres des colonnes d'un Jtable?
    Par briant dans le forum Composants
    Réponses: 2
    Dernier message: 17/12/2009, 18h40
  2. Les titres des colonnes
    Par edophie dans le forum InfoPath
    Réponses: 1
    Dernier message: 22/07/2008, 17h14
  3. Aligner les titres des colonnes dans un datagrid
    Par bonnet85 dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 02/04/2008, 16h01
  4. recuperer les titres des colonnes
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/02/2008, 08h36
  5. DBGrid, comment dessiner dans les titres des colonnes
    Par dleu dans le forum Bases de données
    Réponses: 9
    Dernier message: 04/11/2004, 17h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo