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

Fortran Discussion :

Extraire des lignes d'un fichier .csv


Sujet :

Fortran

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 44
    Points : 19
    Points
    19
    Par défaut Extraire des lignes d'un fichier .csv
    Bonjour,

    J'ai vraiment besoin de votre aide là!
    J'ai un fichier .csv contenant environ 1000 lignes, mais seulement une trentaine sont intéressantes pour moi. il est structuré de cette manière :

    environ 1000lignes qui me servent à rien
    [espace][espace]<name>name1</name>
    quelques lignes
    [espace][espace]<coordinate>longitude1,lattitude1</coordinate>
    quelques lignes
    [espace][espace]<name>name2</name>
    quelques lignes
    [espace][espace]<coordinate>longitude2,lattitude2</coordinate>
    quelques lignes
    [espace][espace]<name>name3</name>
    quelques lignes
    [espace][espace]<coordinate>longitude3,lattitude3</coordinate>
    etc...

    J'aurai besoin d'en extraires les lignes avec les noms et coordonnées pour avoir au final quelque chose comme cela:
    [espace][espace]<name>name1</name>
    [espace][espace]<coordinate>longitude1,lattitude1</coordinate>
    [espace][espace]<name>name2</name>
    [espace][espace]<coordinate>longitude2,lattitude2</coordinate>
    [espace][espace]<name>name3</name>
    [espace][espace]<coordinate>longitude3,lattitude3</coordinate>

    Quelqu'un aurait-il une piste svp ?? Le truc c'est d'extraire les lignes contenant <name> et <coordinate>. C'est possible avec fortran ?

    Merci infiniment !

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Points : 1 346
    Points
    1 346
    Par défaut
    La technique est simple :
    • Tu lis chaque ligne dans une variable caractère
    • Tu vérifies avec index si le contenu est intéressant

    Ça aura l'air de ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    character (len=1000) Ligne
    ...
    open(11,...,form='formatted',...)
    open(12,...)
    do
       read(11,'(a)', iostat=k) Ligne
       if (k /= 0) exit
       k = index(Ligne,'<name>')
       if (k == 0) k = index(Ligne,'<coordinate>')
       if (k == 0) cycle
       write(12,'(a)') trim(Ligne)
    enddo
    ...

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Points : 1 346
    Points
    1 346
    Par défaut
    En passant : ce n'est pas un fichier CSV mais un fichier XML.

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 44
    Points : 19
    Points
    19
    Par défaut
    alors je ne comprends pas toutes les commandes dont tu as parlé, par exemple index? qu'est ce que cela fait?

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Points : 1 346
    Points
    1 346

  6. #6
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Merci !
    Bonjour cre31400 et Sylvain Bergeron, je ne sais pas si c'est vraiment autorisé ici, mais je tiens à vous remercier, l'un pour avoir posé la question, l'autre pour y avoir répondu si clairement, j'ai la solution à mon problème !
    A bientôt.

Discussions similaires

  1. Réponses: 14
    Dernier message: 16/07/2008, 11h47
  2. Extraire des lignes d'un fichier
    Par Scal-tn dans le forum Administration système
    Réponses: 3
    Dernier message: 20/04/2008, 13h39
  3. [CSV] Ajouter et supprimer des ligne dans un fichier CSV
    Par gpsevasion dans le forum Langage
    Réponses: 3
    Dernier message: 28/02/2007, 17h00
  4. Extraire des données dans un fichier .csv
    Par orj30754 dans le forum C
    Réponses: 7
    Dernier message: 03/11/2006, 14h48
  5. Extraire des lignes d'un fichier en commande bash
    Par newnew dans le forum Linux
    Réponses: 3
    Dernier message: 27/07/2004, 16h22

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