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 :

extraction de données d'un fichier texte


Sujet :

MATLAB

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2011
    Messages : 39
    Points : 27
    Points
    27
    Par défaut extraction de données d'un fichier texte
    Bonjour,

    Je souhaite extraire les données à partir d'un fichier texte contenant 7 données differentes en colonnes (dont seules les 4 premieres m'interessent) et environ 11000 lignes mais je me heurte à plusieurs obstacles.

    Le but final étant d'avoir les données extraites sous forme d'une matrice (mais si j'ai bien compris à ce moment là il faut que toutes les données soient au même format pour pouvoir utiliser cell2mat) ou d'un fichier .mat

    J'ai d'abord essayé d'utiliser les fonctions fopen et textscan, j'ai réussi a contourner le probleme des deux première colonnes qui se "collent" lorsque la deuxième valeur atteint 100 en mettant %3.0f comme format dans le textscan (ça fait un peu bricolage, il y a peut-être une meilleure façon de faire...) mais je n'arrive pas à trouver le bon format pour les données des deux dernières colonnes.

    Voici un extrait du fichier de départ pour vous donner une idée:

    149 99   -0.22082349027385E-09-0.36314694608547E-09 0.699195E-09 0.699097E-09 00
    
    150 99   -0.11319767560876E-09 0.15916394234069E-09 0.722623E-09 0.722316E-09 00
    
    100100    0.98887461801676E-09-0.10120218525606E-08 0.765071E-10 0.764365E-10 00
    
    101100   -0.62182746550514E-09-0.58743588490342E-09 0.140755E-09 0.140714E-09 00

    J'ai ensuite essayé une autre approche avec la commande load puisqu'elle me paraissait particulièrement adaptée aux fichiers ne contenant que des valeurs numériques.
    Mais alors nouveaux problèmes:

    1. Je ne sais plus comment contourner l'obstacle présenté ci dessus

    2. Matlab me retourne l'erreur
    Number of columns on line 151 of ASCII file "nom_du_fichier" must be the same as previous lines.
    alors que les lignes 150,151 et 152 sont les suivantes et me semblent identiques:

      2  1   -0.27344700889532E-09 0.14413748280164E-08 0.891889E-12 0.895492E-12 00
    
      3  1    0.20304674979048E-05 0.24819635605104E-06 0.313725E-11 0.299037E-11 00
    
      4  1   -0.53614351660982E-06-0.47356285094386E-06 0.482480E-12 0.481994E-12 00
    
    Merci d'avance pour l'aide que vous pourrez m'apporter.

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    quelque chose comme cela ne te convient pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    fid = fopen('test.txt')
    C = textscan(fid,'%3d%3d %21f%21f %f %f %1d%1d');
    fclose(fid)
    ?
    Il y a bien 8 colonnes à ton fichier? Après il reste à récupérer les colonnes dans chaque cellule.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2011
    Messages : 39
    Points : 27
    Points
    27
    Par défaut
    Merci beaucoup !!

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 166
    Points
    53 166
    Par défaut
    Citation Envoyé par granbapt Voir le message
    7 données differentes en colonnes (dont seules les 4 premieres m'interessent)
    Citation Envoyé par magelan Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    fid = fopen('test.txt')
    C = textscan(fid,'%3d%3d %21f%21f %f %f %1d%1d');
    fclose(fid)
    Dans ce cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    fid = fopen('test.txt')
    C = textscan(fid,'%3d%3d %21f%21f %*f %*f %*d');
    fclose(fid)
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

Discussions similaires

  1. Extraction des données d'un fichier text en vb net
    Par sihammaster dans le forum VB.NET
    Réponses: 5
    Dernier message: 29/11/2009, 15h37
  2. Extraction de données d'un fichier texte
    Par boobz dans le forum Langage
    Réponses: 1
    Dernier message: 30/03/2008, 11h40
  3. Réponses: 4
    Dernier message: 05/02/2008, 11h08
  4. Extraction de données dans un fichier texte en VB6 !
    Par rockroa dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 21/06/2006, 16h00
  5. Perl: Extraction de données d'un fichier texte ?
    Par fifto dans le forum Langage
    Réponses: 1
    Dernier message: 27/03/2006, 16h01

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