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 :

gérer une colonne variable avec textread


Sujet :

MATLAB

  1. #1
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 58
    Par défaut gérer une colonne variable avec textread
    Bonjour

    pour lire un fichier texte j'utilise le programme
    d = dir('FCE*');

    [a, b, c, d, e, f, g]=textread(d(1).name,'%3d %3d %s %s %s %s %s','headerlines',7)
    Le problème c'est que pour chaque ligne la colonne e n'est pas toujours renseignée.

    Lorsque la colonne e possède au moins une valeur j'utilise le programme
    idx = cellfun('isempty',f);
    f(idx) = e(idx);
    [e{idx}] = deal('*******');
    et cela marche très bien. Ce que je ne sais pas faire c'est le cas ou le colonne est entièrement vide. Pouvez vous m'aider svp

  2. #2
    Expert confirmé
    Avatar de duf42
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Novembre 2007
    Messages
    3 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Par défaut
    Bonjour,

    Aurais-tu un exemple des différents cas possibles?

    Merci,
    Duf

  3. #3
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 58
    Par défaut
    première cas:

    e=[+000.2;+000.5;-0.5;0.0]

    deuxième cas possible

    e=[; ;+5.2;]

    troisième ça

    e=[; ; ; ]


    quand la valeur n'est pas indiquée y'a une tabulation.

  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 317
    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 317
    Par défaut
    Montre nous plutôt des lignes de ton fichier où les différents cas se produisent

  5. #5
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 58
    Par défaut
    Voici en fichiers joint des exemples de fichiers d'entrée
    Fichiers attachés Fichiers attachés

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    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 317
    Par défaut
    Le nombre de caractères sur chaque ligne est-il constant (39 dans le fichier 1) ?

  7. #7
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 58
    Par défaut
    oui le nombre de caractères par ligne est constant

  8. #8
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    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 317
    Par défaut
    Essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [a, b, c, d, e, f] = textread('fichier 1.txt','%03d%03d%s%s%s%s','delimiter','\t ');
     
    idx = cellfun('isempty',f);
    f(idx) = e(idx);
    e(idx) = {''};

Discussions similaires

  1. remplir une colonne entière avec la même valeur
    Par potili2 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/11/2007, 12h24
  2. Réponses: 11
    Dernier message: 18/10/2007, 12h49
  3. Réponses: 3
    Dernier message: 16/12/2006, 12h59
  4. [CF][PPC/VB.NET/Datagrid] Comment gérer une colonne CheckBox ?
    Par joefou dans le forum Windows Mobile
    Réponses: 5
    Dernier message: 28/08/2006, 17h08
  5. Réponses: 6
    Dernier message: 10/08/2006, 15h45

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