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

MATLAB Discussion :

Lecture de fichier texte


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10
    Par défaut Lecture de fichier texte
    Bonjour à tous,

    comme il est dit dans l'intitulé de la discussion, j'ai un problème de lecture de fichier texte. Pour être plus précis je dois lire un fichier de données utilisé dans un programme fortran.

    Jusque là c'est simple tant que j'ai un espace entre les colonnes de données dans mon fichier texte. Mais il arrive que ce cas se présente :

    1 20
    21000

    Cet exemple est donc fait de 2 colonnes, contenant des entiers formés de 4 chiffres et en utilisant le fonction fscanf dans matlab, je lis correctement la première ligne 1 et 20 mais pour la deuxième ligne je lis 21000 alors que je devrais lire 2 et 1000. Est-ce que c'est possible de lire ce type de fichier correctement ? Et si oui y'aura t il un problème pour la lecture de réels (et donc contenant une virgule) ?

    J'espère avoir été clair et merci d'avance pour vos réponses

  2. #2
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Salut !
    Es-tu sûr que ton fichier ne contient pas plutôt
    Jean-Marc Blanc

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10
    Par défaut
    Oui pardon mon message n'est pas passé comme je le voulais !

    Désolé mais c'est excatement ça ils sont donc alignés vers la droite.

  4. #4
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Deux solutions:
    1. Si tu as accès au code du programme Fortran qui génère ton fichier, tu modifie le(s) format(s) d'écriture pour qu'il y ait au minimum un espace entre chaque valeur (par exemple en remplaçant I4 par I5).
    2. Si tu n'y as pas accès, tu écris en Fortran un petit programme auxiliaire qui lit ton fichier sous sa forme originale et en réécrit un nouveau avec lesespaces supplémentaires.

    Je pense que ce sera beaucoup plus simple que d'essayer de le faire dans Matlab.
    Jean-Marc Blanc

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10
    Par défaut
    Merci pour la réponse même si je dois vous avouer que ce n'est pas ce que j'attendais

    Mais merci quand même !

    S'il y a d'autres possibilités je suis preneur !

  6. #6
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Salut !
    Il est naturellement possible de faire ça dans Matlab, mais c'est beaucoup plus compliqué: tu lis chaque ligne de ton fichier comme une chaîne de caractères, tu la décortiques en petits morceaux (dans l'exemple, d'abord 2 caractères, puis 4 caractères, etc.), puis tu convertis chaque morceau en une valeur numérique par la fonction str2num.
    Jean-Marc Blanc

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/11/2006, 20h57
  2. [C#]Lecture gros fichier texte
    Par kekesilo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 20/05/2006, 13h58
  3. Lecture d´un fichier texte .
    Par pilouface dans le forum C
    Réponses: 5
    Dernier message: 20/01/2006, 23h48
  4. [AS2] Lecture Ecriture Fichier Texte
    Par cpr0 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 13/09/2005, 11h22
  5. lecture de fichier texte
    Par prorider dans le forum C
    Réponses: 36
    Dernier message: 08/09/2004, 20h55

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