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
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
Essay de le convertir en XML, c'est utilisable par tout! En plus ce n'est que du texte le XML!
Ç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 :Cet exemple est en F95. Si tu est limité à F77, il est possible que la dernière ligne (entre autre) ne fonctionne pas...
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,...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager