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 :

[textread] Gérer les lignes blanches dans un fichier texte


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 5
    Points : 6
    Points
    6
    Par défaut [textread] Gérer les lignes blanches dans un fichier texte
    salut à tous !

    J'utilise la fonction textread pour lire un fichier texte et mettre son contenu dans une cell comme ci-dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    s=textread(FILENAME,...);
    Je ne parviens pas à inclure les lignes vides du fichier texte et les remplacer par NaN. J'avoue avoir des difficultés à comprendre l'aide de cette fonction (%n, %r, exlusions, etc..).

    Je souhaite que chaque ligne n de mon texte soit placé dans cell s(n,1) et remplacer les lignes vides par NaN.

    une idée ?

    merci !

  2. #2
    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
    Soit le fichier test.txt suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    aaaaaaaaa
     
    bbbbbbbbb
     
    ccccccccc
    Le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    X = textread('test.txt','%s','delimiter','\n');
    idx = cellfun('isempty',X);
    X(idx) = {NaN};
    renvoie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    X = 
     
        'aaaaaaaaa'
        [      NaN]
        'bbbbbbbbb'
        [      NaN]
        'ccccccccc'
    C'est ce que tu cherches à obtenir ?
    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)

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Dut Voir le message
    Soit le fichier test.txt suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    aaaaaaaaa
     
    bbbbbbbbb
     
    ccccccccc
    Le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    X = textread('test.txt','%s','delimiter','\n');
    idx = cellfun('isempty',X);
    X(idx) = {NaN};
    renvoie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    X = 
     
        'aaaaaaaaa'
        [      NaN]
        'bbbbbbbbb'
        [      NaN]
        'ccccccccc'
    C'est ce que tu cherches à obtenir ?
    Oui c'est exactement ce que je voulais.

    merci bcp !

    Je cherche maintenant à faire exactement la même chose avec le premier mot de chaque ligne au lieu de la ligne entière. J'ai touvé qq part sur un forum:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    s = textread('myfile.txt','%s%*[^\n]') ;
    mais ceci saute les lignes blanches que je voulais conserver...

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

Discussions similaires

  1. [LV2009] Supprimer les lignes vides dans un fichier texte
    Par Super2006 dans le forum LabVIEW
    Réponses: 3
    Dernier message: 11/11/2011, 14h32
  2. [MySQL] ecriture de tous les lignes sql dans un fichier texte
    Par noche29 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 16/03/2011, 15h29
  3. Gérer les espace vide dans un fichier texte
    Par barbuslex dans le forum C++
    Réponses: 2
    Dernier message: 29/05/2008, 15h01
  4. Supprimer ligne blanche dans un fichier texte
    Par willytito dans le forum VBA Access
    Réponses: 4
    Dernier message: 02/11/2007, 15h52
  5. Réponses: 2
    Dernier message: 18/05/2006, 13h38

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