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 :

Importer des données excel dans mes tables Postgres


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Par défaut Importer des données excel dans mes tables Postgres
    Bonjour,

    je suis débutant en Postgres, je cherche à remplir ma base avec des données contenues dans différents fichiers excel.
    J'ai trouvé un ou deux sujets similaires sur le site mais je n'ai pas réussi à aller au bout de la procédure.
    J'ai commencé par transformé mon fichier excel en un fichier "csv", puis j'ai essayé d'importer les données dans mes tables en utilisant la fonction "COPY", mais impossible d’exécuter cette commande correctement.

    Si quelqu'un pouvait me donner un exemple

    J'aurai une autre question, j'ai crée ma base (enfin les différentes tables, je n'ai encore rien rempli) et je voulais savoir comment vous faisiez pour remplir vos tables avec vos données excel dans mon cas : dans chacun de mes fichiers excel j'ai des données qui appartiennnent à différentes tables, je n'ai pas un fichier pour une table (je ne suis pas sur d'être très clair ).
    Donc ma question est : dois-je modifier chacun de mes fichiers plusieurs fois pour garder uniquement les colonnes de données relatives à une table ? et ainsi de suite jusqu'a avoir tout rempli ?

    A la base je pensais utiliser un "simple" scrypt python mais je n'ai pas trouvé d'exemple sur internet.

    Je travail simplement via le terminal, je n'utilise pas pgAdmin.



    Merci à vous

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    Citation Envoyé par Thomas77380 Voir le message
    Bonjour,

    J'aurai une autre question, j'ai crée ma base (enfin les différentes tables, je n'ai encore rien rempli) et je voulais savoir comment vous faisiez pour remplir vos tables avec vos données excel dans mon cas : dans chacun de mes fichiers excel j'ai des données qui appartiennnent à différentes tables, je n'ai pas un fichier pour une table (je ne suis pas sur d'être très clair ).
    Donc ma question est : dois-je modifier chacun de mes fichiers plusieurs fois pour garder uniquement les colonnes de données relatives à une table ? et ainsi de suite jusqu'a avoir tout rempli ?
    Bonjour,

    Deux solutions ici :
    - faire un fichier CSV par table.
    - insérez vos données actuelle dans des tables sas (donc vous ne toucher pas vos fichier CVS) et ensuite traitement de ces tables sas pour injecter les données dans vos tables cibles

    Concernant le COPY, je n'ia jamasi utilisé mais y a de la doc + exemple ici : http://www.postgresql.org/docs/9.1/static/sql-copy.html

    Faites des tests avec des exemples simple au début..

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 53
    Par défaut
    Bonjour, merci pour votre réponse,

    je m'étais en effet aidé de votre lien pour me servir de la fonction "COPY", voici l'instruction que je tape :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    COPY gene FROM 'Bureau/Basededonnees/genes.csv' | STDIN ;
    j'ai également essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COPY gene FROM {'genes.csv' | STDIN }
    je tente donc d'insérer dans ma table "gène" les données contenues dans le fichier genes.csv, cependant cette instruction semble être incorrecte, surement une erreur de syntaxe que je ne trouve pas.

    Voici l'erreur :

    ERROR: syntax error at or near "{"
    LINE 1: COPY gene FROM {'genes.csv' | STDIN }

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Par défaut
    bonjour,

    n'utilisez pas "{".

    Quel est le message d'erreur de la 1ere commande ?
    M'est d'avis que votre path est mal écrit (il manque soit un / soit c:\..)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 53
    Par défaut
    EN effet j'ai ajouté un '/' au début de mon path, cependant j'obtiens toujours un message d'erreur :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COPY gene FROM '/Bureau/Basededonnees/genes.csv' | STDIN;


    ERROR: syntax error at or near "|"
    j'ai tenté d'enlever ce caractère mais rien n'y fait.

  6. #6
    Membre émérite
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 491
    Par défaut
    et tout simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COPY gene FROM '/Bureau/Basededonnees/genes.csv'
    si le caractere de separation est une tabulation
    si le caractere est bien une virgule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COPY gene FROM '/Bureau/Basededonnees/genes.csv' with csv
    on peut rajouter header si le fichier d'origine a les entêtes de colonne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Importer des données excel dans une table access
    Par docjo dans le forum VBA Access
    Réponses: 0
    Dernier message: 06/06/2014, 20h33
  2. Importer des données Excel dans une table Access
    Par Flaguette dans le forum Modélisation
    Réponses: 3
    Dernier message: 25/09/2008, 21h50
  3. Réponses: 5
    Dernier message: 20/06/2007, 14h11
  4. Import de Données Excel dans une Table Access
    Par YLF dans le forum Access
    Réponses: 2
    Dernier message: 20/02/2006, 19h02
  5. Insérer des données Excel dans une table ACCESS
    Par anikeh dans le forum Access
    Réponses: 4
    Dernier message: 21/12/2005, 22h42

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