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 Excel sur Mac


Sujet :

MATLAB

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 30
    Par défaut Lecture de fichier Excel sur Mac
    Salut,
    J'aurais un grand besoin de votre aide:
    Je suis en possession d'un fichier excel avec dans la 1ere colonne des chiffres variant de 0 à 6. Il faudrait que, grâce à mon code MatLab, je crée un nouveau fichier avec les mêmes informations mais en enlevant les lignes où la 1ere colonne contient un 0 ou un 6.
    Je ne sais pas pourquoi mon code MatLab ne fonctionne pas, j'ai l'impression que mon textscan ne marche pas bien...
    Ci-dessous mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    fidWrite = fopen('radar291NPLvoie123JO.log', 'w+');
    fid = fopen('DonneesAgregees/radar291NPLvoie123.xls');
     
    beta=textscan(fid,'%d %s %d %d %d %f %f %f %f %d %f %f %f %f');
    index=1;
    total_size=length(beta{1,1})
     
    current_date=0;
    last_hour=0;
    cars_count=0;
    speed_average=0.0;
    headway_average=0.0;
    timeGap_average=0.0;
    length_average=0.0;
    flow=0;
    flow1=0.0;
    flow2=0.0;
    flow3=0.0;
    density=0.0;
     
    while (index<=total_size)
     
        if (1<=beta{1,1,1}<=5)
    current_date=beta{1,2,1}(index);
    last_hour=beta{1,4,1}(index);
    cars_count=beta{1,5,1}(index);
    speed_average=beta{1,6,1}(index);
    headway_average=beta{1,7,1}(index);
    timeGap_average=beta{1,8,1}(index);
    length_average=beta{1,9,1}(index);
    flow=beta{1,10,1}(index);
    flow1=beta{1,11,1}(index);
    flow2=beta{1,12,1}(index);
    flow3=beta{1,13,1}(index);
    density=beta{1,14,1}(index);
        end
     
        fprintf(fidWrite,'%s %d %d %f %f %f %f %d %f %f %f %f\n',current_date,last_hour,cars_count,speed_average,headway_average,timeGap_average,length_average,flow,flow1,flow2,flow3,density);
     
        index=index+1;
    end
     
    fclose(fid);
    fclose(fidWrite);
    Et mon fichier excel de base: Essai2.xlsx

  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 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
    Pourquoi ne pas utiliser xlsread pour lire le fichier Excel ?

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 30
    Par défaut
    Merci pour ton aide je vais essayer comme ca!

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 30
    Par défaut
    Excuse moi mais je n'arrive pas à utiliser xlsread et xlswrite:
    Dans mon code je remplace fidWrite et fid par:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    beta=xlsread('radar291NPLvoie123JO.log');
    A la fin je remplace fprintf par:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    filename = 'radar291NPLvoie123JO.xls';
    A = [current_date, last_hour,...]
    xlswrite(filename,A)
    Cela m'indique une erreur quand je lance le code directement

    De plus, ma deuxième colonne de mon fichier de base contient des formats dates sur excel que je veux recopier dans un format similaire sur mon nouveau fichier excel. Comment puis-je faire ça?
    Merci beaucoup de votre aide


    De plus ma deuxième

  5. #5
    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
    Tes explications sont assez incompréhensibles.

    Dans un premier temps tu parles d'un fichier .xls puis maintenant d'un fichier .log ?

    Ensuite, tu te doutes bien qu'il serait utile de nous donner le message d'erreur complet.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 30
    Par défaut
    Je suis désolé, je réexplique en ayant clarifié mon code:

    Le but: Avec un fichier excel comme envoyé dans mon premier message, il faut que je le traite sur MatLab pour avoir un nouveau fichier final avec le "current_date, last_hour, cars_count_d1" des lignes ayant dans la première colonne comme chiffre: 1,2,3,4,5 (de l'ancien fichier).
    Mes questions: current_date est au format date sur excel cela pose-t-il un pb? last_hour est un int mais cars_count_d1 un float, comment retourner dans le fichier avec les bons formats?

    Enfin et le plus important: mon code (ci-joint en dessous) affiche cela en message d'erreur:

    Warning: Could not start Excel server for import, 'basic' mode will be used.
    Refer to HELP XLSREAD for more information. 
    > In xlsread at 174
      In traitement2 at 9 
    Error using xlsread (line 217)
    XLSREAD unable to open file radar291NPL123.xls.
    File /Users/cypriensay/Documents/MATLAB/ProjetBis/radar291NPL123.xls not found.
    
    Error in traitement2 (line 9)
    xlsread('radar291NPL123.xls');
    Mon code est:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
     
    function [ ] = traitement2( )
    tic
    %TEST Summary of this function goes here
    %   Detailed explanation goes here
     
     
    beta=xlsread('radar291NPL123.xls');
    index=1;
    total_size=length(beta);
     
    current_date=0;
    last_hour=0;
    cars_count_d1=0;
     
     
     
    while (index<=total_size)
     
        if (1<=beta(index,1)<=5)
    current_date=beta(index,2);
    last_hour=beta(index,4);
    cars_count_d1=beta(index,5);
     
        end
     
        filename = 'radar291NPLvoie123JO.xls';
        A = [current_date, last_hour, cars_count_d1]
        xlswrite(filename,A)
        index=index+1;
    end
     
    toc
    Merci beaucoup et désolé de mes explications peu claires...

  7. #7
    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
    Allons y progressivement…

    Tu travailles sur Windows mais Excel n'est pas installé sur ta machine, c'est ça ?

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 30
    Par défaut
    Je travaille sur Mac, mais excel est bien installé sur mon ordinateur...
    Mon objectif est juste de traiter comme je t'ai expliqué un fichier excel sur MatLab pour en créer un nouveau avec les données qui m'intéressent seulement...
    Cependant mon code ne marche pas (cf précédent message)
    Merci

  9. #9
    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
    D'une part, que renvoi ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exist('/Users/cypriensay/Documents/MATLAB/ProjetBis/radar291NPL123.xls', 'file')
    Et d'autre part, il faut savoir que :

    Citation Envoyé par documentation de xlsread
    If your system does not have Excel for Windows, xlsread operates in basic import mode, and only reads XLS files compatible with Excel 97-2003 software.
    Sous quelle version de Excel le fichier a-t-il été enregistré ?

  10. #10
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 30
    Par défaut
    En écrivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exist('radar291NPLvoie123.xls', 'file')
    Cela m'indique 2.

    Pour la version d'excel j'ai bien vérifié que j'utilisais la bonne version

  11. #11
    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
    Citation Envoyé par Cypette Voir le message
    Pour la version d'excel j'ai bien vérifié que j'utilisais la bonne version
    C'est à dire ?

  12. #12
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 30
    Par défaut
    Excel version 97-2003

  13. #13
    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
    Pourrais-tu nous fournir un de ces fichier xls ? Ou un fichier avec d'autres données qui reproduisent le problème.

  14. #14
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 30
    Par défaut
    Bien sur, je pensais vous l'avoir déjà fourni dans mes messages précédents, mais le voici! radar291NPLvoie123.xls
    Je l'ai renommé puisque j'ai envoyé que les premières lignes en effet le fichier en entier est trop lourd...

  15. #15
    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
    Aucun problème pour lire ce fichier sur Mac. Tu as très certainement un problème de chemin.

    Mais encore une fois, je te demande de tester /Users/cypriensay/Documents/MATLAB/ProjetBis/radar291NPL123.xls, tu testes radar291NPLvoie123.xls

    Ce n'est pas la même chose. Il faut être plus rigoureux sinon nous ne pourrions t'aider efficacement.

  16. #16
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 30
    Par défaut
    Je viens de te dire que pour l'envoie de ce fichier j'avais modifié légèrement le nom, oui le chemin est correct ce n'est pas la le pb! Je suis d'accord que mes explications du début non pas toujours été très clairs mais la tu me fais perdre mon temps parce-que tu ne comprends rien, j'ai un pb de code sur MatLab le chemin est bon ce n'est pas le pb, je te l'ai dit mille fois!!! Je ne suis pas débile, j'ai des connaissances en info et je suis en école d'ingénieur. Si tu ne peux pas m'aider dis le moi au lieu de me poser les mêmes questions mille fois. Bien évidemment que lorsque que je change le nom de mon fichier ce n'est plus la même chose mais je ne peux pas t'envoyer le fichier original étant trop lourd, j'ai donc fait un copié collé des premières valeurs que je t'envoie avec un nom légèrement différent pour que tu puisses m'aider!!!!!!!!!!!!!!!

  17. #17
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Du calme, Dut fait à partir de ce que tu lui donnes, et à ta réponse à sa question
    Citation Envoyé par Dut Voir le message
    D'une part, que renvoi ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exist('/Users/cypriensay/Documents/MATLAB/ProjetBis/radar291NPL123.xls', 'file')
    Citation Envoyé par Cypette Voir le message
    En écrivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exist('radar291NPLvoie123.xls', 'file')
    Cela m'indique 2.
    Dans lequel tu enlèves le chemin complet, ce qu'il te demande justement de rajouter, a de quoi laisser perplexe.

    Le message
    XLSREAD unable to open file radar291NPL123.xls.
    File /Users/cypriensay/Documents/MATLAB/ProjetBis/radar291NPL123.xls not found.
    ne peut avoir que deux causes :
    • soit le chemin (complet) du fichier n'est pas bon ;
    • soit le fichier ne peut pas être ouvert : fichier déjà ouvert autre part ou problème de droits (vu le dossier dans lequel il se trouve, je ne pense pas).

    Je peux aussi remarquer que dans ta première pièce jointe, l'extension est .xlsx et non .xls.

  18. #18
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 30
    Par défaut
    Je suis désolé de mettre un peu énervé, après des recherches, le problème vient du fait que les fonctions xlsread et xlswrite marche très mal sur mac. J'ai donc changé mes fichiers en .txt au lieu de .xls et j'ai écrit le code suivant, cependant le code ne fonctionne pas comme je voudrai

    Rapel:
    Le but: Avec un fichier txt je dois recréer un même fichier en enlevant les lignes qui ne m'intéresse pas (lignes ayant comme valeur dans la première colonne 0 et 6).
    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    function [ ] = traitement2( )
    tic
     
    beta='DonneesAgregees/Classeur1.txt';
    fid=fopen(beta);
    A=textscan(fid,'%d %d %d %d %d %f %f %f %f %d %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %d %f %f %f %f %d %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f');
    fidWrite=fopen('classeur2','w+');
    index=1;
    total_size=length(A{1,1})
    while (index<=total_size)
     
         if (1<=A{1,1,1}(index)<=5)
     
             fprintf(fidWrite,'%d %d %d %d %d %f %f %f %f %d %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %d %f %f %f %f %d %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f',A{1,1}(index));
     
         end
         index=index+1;
    end
    Le code ne commet pas d'erreur mais ne fonctionne pas comme j'aimerai...

    Voici mon fichier txt Classeur1.txt

    Merci beaucoup

  19. #19
    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
    Il y a plusieurs erreurs dans ce code.

    Pour commencer, quand tu as fini de traiter un fichier ouvert avec fopen, il faut impérativement utiliser fclose pour le fermer

    Ensuite, la syntaxe de la condition suivante est fausse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if 1<=A{1,1,1}(index)<=5
    Il faut écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if 1<=A{1,1,1}(index) && A{1,1,1}(index)<=5
    Pour finir, le formatage passé à textscan est incomplet.
    Il y a 70 colonnes dans le fichier, et non pas 54.

    Voici une version corrigée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    function traitement2
    
    fmt = '%d\t%d\t%d\t%d\t%d\t%f\t%f\t%f\t%f\t%d\t%d\t%f\t%f\t%f\t%f\t%f\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%d\t%d\t%d\t%f\t%f\t%f\t%f\t%d\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%d\t%d\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%f\t%d\t%d';
    
    beta = 'DonneesAgregees/Classeur1.txt';
    
    fid = fopen(beta);
    A = textscan(fid, fmt);
    fclose(fid);
    
    fidWrite = fopen('DonneesAgregees/Classeur2.txt', 'wt');
    index = 1;
    total_size = length(A{1});
    while index<=total_size
        
        if 1<=A{1}(index) && A{1}(index)<=5      
            
            fprintf(fidWrite, fmt, ...
                A{1}(index),A{2}(index),A{3}(index),A{4}(index),A{5}(index),A{6}(index), ...
                A{7}(index),A{8}(index),A{9}(index),A{10}(index),A{11}(index),A{12}(index), ...
                A{13}(index),A{14}(index),A{15}(index),A{16}(index),A{17}(index),A{18}(index), ...
                A{19}(index),A{20}(index),A{21}(index),A{22}(index),A{23}(index),A{24}(index), ...
                A{25}(index),A{26}(index),A{27}(index),A{28}(index),A{29}(index),A{30}(index), ...
                A{31}(index),A{32}(index),A{33}(index),A{34}(index),A{35}(index),A{36}(index), ...
                A{37}(index),A{38}(index),A{39}(index),A{40}(index),A{41}(index),A{42}(index), ...
                A{43}(index),A{44}(index),A{45}(index),A{46}(index),A{47}(index),A{48}(index), ...
                A{49}(index),A{50}(index),A{51}(index),A{52}(index),A{53}(index),A{54}(index), ...
                A{55}(index),A{56}(index),A{57}(index),A{58}(index),A{59}(index),A{60}(index), ...
                A{61}(index),A{62}(index),A{63}(index),A{64}(index),A{65}(index),A{66}(index), ...
                A{67}(index),A{68}(index),A{69}(index),A{70}(index));
            
            fprintf(fidWrite, '\n');
            
        end
        
        index = index+1;
        
    end
    
    fclose(fidWrite);
    Le code ci-dessus peut être amélioré. En effet, il n'est pas nécessaire de lire les données de chaque colonne séparément.

    Tu peux très bien lire le fichier ligne par ligne et comparer le premier caractère renvoyé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    function traitement2
     
    beta = 'DonneesAgregees/Classeur1.txt';
     
    fid = fopen(beta);
    A = textscan(fid, '%s', 'delimiter', '\n');
    fclose(fid);
     
    fidWrite = fopen('DonneesAgregees/Classeur2.txt', 'wt');
    index = 1;
    total_size = length(A{1});
     
    while index<=total_size
     
        if strncmp(A{1}{index}, '0', 1) || strncmp(A{1}{index}, '6', 1)
            continue
        else
            fprintf(fidWrite, '%s\n', A{1}{index});
        end
     
        index = index+1;
     
    end
     
    fclose(fidWrite);
    Dans ce cas, on peut se passer de la boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    fidWrite = fopen('DonneesAgregees/Classeur2.txt', 'wt');
     
    idx = strncmp(A{1}, '0', 1) | strncmp(A{1}, '6', 1);
     
    A{1}(idx) = [];
     
    fprintf(fidWrite, '%s\n', A{1}{:});
     
    fclose(fidWrite);
    Au fur et à mesure des améliorations, le code est plus synthétique mais perd en lisibilité.
    A toi de voir la version que tu souhaites utiliser

  20. #20
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Février 2014
    Messages : 30
    Par défaut
    Merci beaucoup!

Discussions similaires

  1. Conversion fichier Excel vers fichier PDF sur Mac
    Par Invité dans le forum Documents
    Réponses: 19
    Dernier message: 19/02/2015, 14h57
  2. Réponses: 6
    Dernier message: 27/03/2012, 15h58
  3. {VBA Excel}Question sur la lecture de fichier excel
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/12/2007, 09h12
  4. Peut on importer un fichier excel sur sage 500
    Par tedy75 dans le forum Excel
    Réponses: 3
    Dernier message: 11/02/2006, 19h18
  5. Problème de lecture de fichier Excel
    Par cocaetjusdorange dans le forum Langage
    Réponses: 4
    Dernier message: 08/02/2006, 11h08

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