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

Requêtes PostgreSQL Discussion :

Ignorer la première ligne d'un fichier à importer


Sujet :

Requêtes PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 44
    Par défaut Ignorer la première ligne d'un fichier à importer
    Bonjour,

    Je dois utiliser postgresql dans un projet, et :o la commande "LOAD DATA LOCAL INFILE" ne fonctionne pas avec psql, c'est seulement pour mysql...

    J'ai donc cherché à savoir si il y avait un équivalent à ceci (ci-dessous) chez postgresql pour charger un fichier formaté.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    LOAD DATA LOCAL INFILE '/local_path/file.txt' INTO TABLE name_table
    FIELDS TERMINATED BY '|'
    LINES STARTING BY '' TERMINATED BY '\n'
    IGNORE 1 LINES
    (champs1,champs2,champs3);

    J'ai trouvé la commande COPY :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COPY name_table FROM '/path/file.csv' WITH CSV;
    ceci fonctionne bien lorsque le caractère délimiteur est une virgule et qu'il n'y a pas d'entête.

    1ère question : je cherche à savoir si il est possible d'ignorer la première ligne du fichier à importer (qui est une entête) ? et si oui, comment?

    2ème question : comment faire quand le délimiteur est un autre caractère et qu'il y a une ligne d'entête à ignorer, j'ai essayé quelque chose de la sorte mais ça ne fonctionne évidemment pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COPY name_table  FROM '/path/exit_hgnc.txt' [[ DELIMITER [ AS ] '|' ]];
    Merci d'avance de votre aide.


    EDIT :

    bon j'ai trouvé comment faire pour utiliser un autre délimiteur, c'était pas compliqué...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    COPY HGNC_GENE FROM '/path/file.txt' WITH DELIMITER '|';
    mais je n'ai toujours pas trouvé comment ignoré la première ligne, quelqu'un saurait-il si c'est possible?

  2. #2
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    Regarde la doc officielle sur COPY
    Apparemment il y a l'option HEADER qui pourrait permettre de le faire (je n'ai jamais testé)
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  3. #3
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 44
    Par défaut
    Merci je vais regarder ça.

Discussions similaires

  1. Ignorer les premières lignes a la lecture d'un fichier
    Par DJEcalcul dans le forum MATLAB
    Réponses: 4
    Dernier message: 10/04/2014, 18h52
  2. Ignorer la première ligne d'un fichier
    Par abirhadded dans le forum MATLAB
    Réponses: 4
    Dernier message: 22/05/2013, 16h48
  3. [VB.NET]Supprimer première ligne d'un fichier TXT
    Par Golzinne dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/11/2006, 16h03
  4. [VB.NET]Ecrire à la première ligne d'un fichier texte
    Par Golzinne dans le forum Windows Forms
    Réponses: 5
    Dernier message: 16/09/2006, 00h25
  5. Supprimer la première ligne d'un fichier texte
    Par n@n¤u dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 13/07/2006, 08h38

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