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 :

Conversion de fichier Excel vers Fortran : comment ?


Sujet :

Fortran

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Conversion de fichier Excel vers Fortran : comment ?
    Bonjour,

    je voudrais convertir un fichier exel en fichier texte pour pouvoir l'utiliser dans mon programme Fortran quelqu'un sait t'il comment on fait?

    Merci d'avance

  2. #2
    Provisoirement toléré
    Inscrit en
    Décembre 2006
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 146
    Points : 70
    Points
    70
    Par défaut
    Essay de le convertir en XML, c'est utilisable par tout! En plus ce n'est que du texte le XML!

  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
    Ça dépend de l'information contenu dans ton fichier et du nombre de fois que tu dois faire l'opération.

    Si c'est une seule fois, tu peux intercepter le fichier intermédiaire et adapter le format dans un éditeur. Si c'est plusieurs fois, il y a avantage à tout programmer.

    Si l'information a toujours la même forme, une approche CSV ou TXT est beaucoup plus rapide. Si la forme change beaucoup, une approche XML peut être envisagée, mais tu auras beaucoup de programmation à faire pour supporter un input XML en Fortran...

    Ma suggestion (sans connaitre les réponses aux questions) : CSV. À la lecture, tu lis ligne par ligne et tu décodes. Il est possible que le délimiteur de champs Excel ne soit pas supporté par le read list-directed de Fortran. Il faut alors intercepter la ligne dans une variable caractère et changer le délimiteur. Tu peux alors profiter de l'occasion pour changer le délimiteur de décimales à ".". Un exemple en supposant que le fichier contient "," pour les décimales et ";" pour les champs :
    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
    19
    20
    21
    22
    23
    24
    25
    26
     
    ...
    character (1024) :: Ligne
    integer Pos
    ...
    open(10,'DeExcel.CSV')
    do
       read(10,'(a)',iostat=k) Ligne
       if (k /= 0) exit
     
    !  Changement du delimiteur de decimales
       do
          Pos = index(Ligne,',') 
          if (Pos == 0) exit
          Ligne(Pos:Pos) = '.'
       enddo
     
    !  Changement du delimiteur de champs
       do
          Pos = index(Ligne,';') 
          if (Pos == 0) exit
          Ligne(Pos:Pos) = ','
       enddo
     
    !  Lecture de la ligne dans des variables
       read(Ligne,*) a,b,c,...
    Cet exemple est en F95. Si tu est limité à F77, il est possible que la dernière ligne (entre autre) ne fonctionne pas...

Discussions similaires

  1. Conversion fichier Excel vers fichier PDF sur Mac
    Par Invité dans le forum Documents
    Réponses: 19
    Dernier message: 19/02/2015, 15h57
  2. [XL-2007] Macro: comment importer des valeurs de fichiers Excel vers un autre fichier Excel?
    Par jerdel dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/03/2012, 17h23
  3. Réponses: 3
    Dernier message: 01/08/2011, 14h01
  4. Réponses: 5
    Dernier message: 17/01/2009, 16h04
  5. Comment exporter un fichier Excel vers CSV
    Par machipot dans le forum VBA Access
    Réponses: 0
    Dernier message: 09/06/2008, 23h09

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