[FORTRAN] - lire csv séparateur "," ou "."

- lire csv séparateur "," ou "." [FORTRAN] - Langages fonctionnels - Programmation

Marsh Posté le 09-02-2011 à 07:28:05    

bonjour à tous et à toutes.
 
j'ai un fichier type csv créé par une macro EXCEL. Mon souhait serait de pouvoir stocker les valeurs dans un tableau avec fortran.
Le problème c'est que je n'arrive pas à donner une condition sur le séparateur de décimales.
 
le code ci-dessous fonctionne si je règle mes paramètres régionaux en "." pour le séparateur.  
 
Code :
 

Code :
  1. !LIRE LE FICHIER
  2. OPEN(UNIT=30,FILE='donnees.csv',STATUS='OLD')
  3. READ(30,*) TITRE
  4.      DO i=1 ,nbre
  5.         Read(30,*)(MON_TABL(i,j) , j=1,50,1 )
  6.      END DO
  7.   CLOSE(30)


 
Dans le cas où le séparateur des décimales est "," cela ne fonctionne pas.
 
Pourriez vous s'il vous plaît m'éclairer ?


---------------
TUPAC REST IN PEACE
Reply

Marsh Posté le 09-02-2011 à 07:28:05   

Reply

Marsh Posté le 09-02-2011 à 10:28:12    

Oui, en effet, il faut avoir un point pour séparer les décimales dans votre fichier.
C'est comme cela, parce que Fortran est un logiciel qui utilise cette convention pour les nombres ayant des décimales.
Voir http://fr.wikipedia.org/wiki/S%C3% [...] C3%A9cimal , http://en.wikipedia.org/wiki/Decimal_mark ?
 
Fortran est un langage créé par des américains, initialement pour la société américaine IBM.
Or aux Etats Unis, la norme est d'avoir un point comme séparateur décimal.
C'est aussi la norme en Chine, Inde, Pakistan, Japon, Corée, Royaume Uni, Irlande, Australie, Nouvelle-Zélande, Nigéria, Mexique, Canada anglophone, etc.
La virgule comme séparateur décimal est utilisée dans d'autres pays : Russie, Allemagne, France, etc.
Sur terre, il y a donc une majorité d'êtres humains qui utilisent le point comme séparateur décimal.
 
En informatique pour les logiciels français, il faut donc souvent traiter ce problème. Pour cela, il n'y a pas de solution miraculeuse. Soit on convertit les données, soit on demande aux utilisateurs d'adopter l'usage du point.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed