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 :

Problème pour enregistrer un fichier texte comprenant des données numériques et du texte


Sujet :

MATLAB

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 358
    Points : 106
    Points
    106
    Par défaut Problème pour enregistrer un fichier texte comprenant des données numériques et du texte
    bonjour,

    je débute sur les forum , donc excuser moi d'avance.

    J'ai un problème sous matlab. Je dois enregistrer en format txt des données numériques et littéralle dans un même fichier. De plus l'ensemble de mes données sont enregistrer sous matalb dans des cellules. Comment dois je faire pour l'enregistrer en format txt ? ( j'ai utiliser la fonction dlmwrit est c bon pour la partie numérique mais pas l'autre)

    merci

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Points : 776
    Points
    776
    Par défaut
    Bonjour,

    une petite recherche avec les mots clefs "writes, cell, matlab" sur le site de matlab te conduit directement à ce sujet

    write cell

  3. #3
    Débutant
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 358
    Points : 106
    Points
    106
    Par défaut
    Bon j'ai essayé ce code mais ca ne marche pas. Le fichier chargé est un fichier txt , je veux faire une modification dessus puis le ré-enregistrer en format txt. Voila le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    fid=fopen('HUN_88.txt','r');
    C_text = textscan(fid, '%s', 3);
     
    csvFun = @(str)sprintf('%s,',str);
    xchar = cellfun(csvFun,C_text, 'UniformOutput', false);
    xchar = strcat(xchar{:});
    xchar = strcat(xchar(1:end-1),'\n');
     
    fprintf(fid,xchar)
     
    dlmwrite('HUN.txt',A,'');
    fclose(fid);
    Le fichier s'enregistre bien, mais j'obtiens l'ensemble des mots collé, je veux les séparer (groupe de mot par groupe de mot comme le fichier de base). C'est possible avec dlmwrite?

  4. #4
    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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Ton code parait un peu confus

    Pour sauvegarder un tableau de cellules dans un fichier texte tu peux faire comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    % Conversion de toutes les cellules en String
    tableauString = cellfun(@num2str,tableauCellules,'UniformOutput',false);
     
    % Ouverture du fichier de sortie
    fid = fopen('HUN.txt', 'wt');
    if (fid == -1); return; end
     
    % Ecriture des données dans le fichier texte
    fprintf(fid, [repmat('%s, ',1,size(tableauString,2)),'\n'],tableauString{:});
     
    % Fermeture du fichier de sortie
    fclose(fid);
    En espérant que ca corresponde à ton besoin...
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  5. #5
    Débutant
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 358
    Points : 106
    Points
    106
    Par défaut
    euh la premier ligne du code ne lui plaits pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tableauString=cellfun(@num2str,tableauCellules,'UniformOutput',false);
    il affiche comme erreur :

    The expression to the left of the equals sign is not a valid target for an assignment.

  6. #6
    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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    Bizarre

    La variable tableauString existe-t-elle déjà dans ton code?

    As-tu essayé de mettre un point d'arrêt à ce niveau et d'exécuter uniquement la partie droite de l'expression pour voir ce qu'elle retourne?

    Que contient la variable tableauCellules?
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  7. #7
    Débutant
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 358
    Points : 106
    Points
    106
    Par défaut
    voila 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
     
    % Conversion de toutes les cellules en String
    tableauString = cellfun(@num2str,tableauCellules,'UniformOutput',false);
     
    % Ouverture du fichier de sortie
    fid = fopen('HUN_88.txt', 'wt');
    if (fid == -1); return; end
     
    C_text = textscan(fid, '%s', 105);
    A=C_text{1,1}';
     
    % Ecriture des données dans le fichier texte
    fprintf(fid, [repmat('%s, ',1,size(tableauString,2)),'\n'],tableauString{:});
     
    % Fermeture du fichier de sortie
    fclose(fid);
    il me dit que tableaucellules n'est pas déclarer comment dois je faire?

  8. #8
    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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 111
    Points : 4 661
    Points
    4 661
    Par défaut
    tableauCellules représente la variable que tu veux sauvegarder, à toi de la remplacer par le nom de variable que tu utilises...
    Simulink & Embedded Coder

    Au boulot : Windows 7 , MATLAB r2016b
    A la maison : ArchLinux mais pas MATLAB

  9. #9
    Débutant
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 358
    Points : 106
    Points
    106
    Par défaut
    ok merci sa marche!
    J'ai une autre question.
    J'ai deux type de donnée numérique et liitéral a mettre en place dans le mm fichier txt a la suite l'un de l'autre .
    COmment dois je faire?

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/02/2015, 13h54
  2. Problème pour enregistrer dans un fichier XML
    Par Jb_One73 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 14/02/2015, 08h22
  3. [MySQL] Problème pour enregistrer des variables simultanément
    Par HAbroc dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 15/08/2014, 18h30
  4. Problème pour enregistrer des données
    Par furax51 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 10/07/2014, 09h35
  5. Réponses: 4
    Dernier message: 14/02/2007, 11h44

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