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 :

modalités d'export un fichier (.txt)


Sujet :

MATLAB

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2013
    Messages : 40
    Points : 32
    Points
    32
    Par défaut modalités d'export un fichier (.txt)
    Bonjour,
    je veux exporter ce fichier : (.txt)

    Date Time Q MES
    D.M.Y hh:mm:ss m3/s mg/l
    06.12.2012 05:00 0,1 6,305
    07.12.2012 05:00 4 6,202
    08.12.2012 05:00 4,4 6,517

    comme ça : (.txt)

    "Date";"Time";"Q";"MES"
    "D/M/Y";"hh:mm:ss";"m3/s";"mg/l"
    "06/12/2012";"05:00:00";0,1;6,305
    "07/12/2012";"05:00:00";4;6,202
    "08/12/2012";"05:00:00";4,4;6,517

    merci d'avance pour votre aide

  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 : 52 884
    Points
    52 884
    Par défaut
    Et quel est le problème exactement ?
    Je ne vois pas de question précise dans ton précédent message.

    Montre nous ce que tu as essayé de coder.
    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
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2013
    Messages : 40
    Points : 32
    Points
    32
    Par défaut
    en faite, je veux enregistrer le premier fichier et mettre des guillemets ("xxx")pour les deux premières colonnes : date et Time. et le séparateur entre les 4 colonnes c'est le point-virgule.
    exemple : je veux avoir un fichier à la fin comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    "Date";"Time";"Q";"MES"
    "D/M/Y";"hh:mm:ss";"m3/s";"mg/l"
    "06/12/2012";"05:00:00";0,1;6,305
    au début il est comme ça :
    il n'y a pas de guillemets pour Date et Time et il n'y a pas aussi de point-virgule entre les colonnes comme séparateur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Date	Time	 Q	MES
    D.M.Y hh:mm:ss m3/s mg/l
    06.12.2012	05:00	0,1	6,305
    j'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    c = importdata('monfichier.txt','\t'); 
    save c.txt mon fichier
    j'ai galéré trop pour chercher une solution, mais croyez moi je ne pose pas du questions sur ce forum si je n'ai pas essayé déjà moi même pour plusieurs jours

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

    Une solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    fid = fopen('monfichier.txt', 'rt');
    data = fread(fid, [1 Inf], '*char');
    fclose(fid);
     
    dataQuoted = regexprep(strcat('"', data, '"'), ...
        {'[ \t]+',  '\n' }, ...
        { '";"'  , '"\n"'} );
     
    fid = fopen('monfichier2.txt', 'wt');
    fwrite(fid, dataQuoted, 'char');
    fclose(fid);
    Dernière modification par Invité ; 03/12/2013 à 18h24.

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2013
    Messages : 40
    Points : 32
    Points
    32
    Par défaut
    merci pour votre réponse,
    j'ai testé votre solution, il m'a donné un fichier de sortie comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    "ÿþD a t e ";" T i m e ";" Q ";" M E S "
    " D . M . Y ";" h h : m m : s s ";" m 3 / s ";" m g / l "
    " 0 6 . 1 2 . 2 0 1 2 ";" 0 5 : 0 0 ";" 6 , 3 0 5 ";" 0 . 1"
    il y a un espace entre chaque chiffre, en plus il a mets les guillemets pour les 4 colonnes, moi je veux uniquement pour les 2 premières (Date et Time)
    merci une autre fois pour votre serviabilité

  6. #6
    Invité
    Invité(e)
    Par défaut
    C'est un problème d'encodage, il faut que tu spécifies l'entrée correspondante de fopen.

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2013
    Messages : 40
    Points : 32
    Points
    32
    Par défaut
    j'arrive à faire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    "Date";"Time";"Q";"MES"
    "D.M.Y";"hh:mm:ss";"m3/s";"mg/l"
    "06.12.2012";"05:00";"0,1";"6,305"
    mais les guillemets pour toutes les colonnes
    moi je veux uniquement pour les 2 premières, je pense ce n'est pas un problème d'encodage ça. mais merci beaucoup pour votre solution qui me mène presque à la solution

  8. #8
    Invité
    Invité(e)
    Par défaut
    Ah exact, j'avais pas fait gaffe aux valeurs numériques non quotées.
    Il te suffit alors de traiter les deux lignes de début à part.

  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 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 : 52 884
    Points
    52 884
    Par défaut
    Une alternative aux expressions régulières :

    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
    fid = fopen('data.txt','r');
     
    X = textscan(fid,'%s',2,'delimiter','\n');
    X{1} = strrep(X{1},' ','";"');
    X{1} = strcat('"', X{1}, '"');
     
    Y = textscan(fid,'%s',3,'delimiter','\n');
    Y{1} = cellfun(@(x) ['"' x(1:10) '";"' x(12:16) '"' x(17:end)],Y{1},'uniformoutput',false);
    Y{1} = strrep(Y{1},' ',';');
     
    fclose(fid);
     
    fid = fopen('data2.txt','wt');
    fprintf(fid,'%s\n%s',X{1}{:});
    fprintf(fid,'\n%s',Y{1}{:});
    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)

  10. #10
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2013
    Messages : 40
    Points : 32
    Points
    32
    Par défaut
    Merci "Dut"
    j'ai testé aussi ce scripte, Presque il m'a donné ce je cherche mais il manque le séparateur (point virgule) entre la 2ème et la 3ème colonne, ainsi entre la 3ème et la 4ème colonne .

    il m'a donné ces résultats :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    "Date	Time	";"Q	MES"
    "D.M.Y	hh:mm:ss";"m3/s";"mg/l"
    "06.12.2012";"05:00"	0,1	6,305
    "07.12.2012";"05:00"	4	6,202
    "08.12.2012";"05:00"	4,4	6,517
    comme je veux comprendre ces scripts pour que j'essaye de réfléchir une autre fois, j'aimerai bien si yaura quelques explications à coté de chaque fonction.
    merci une autre fois "Dut" et "Winjerome"

  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 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 : 52 884
    Points
    52 884
    Par défaut
    Comme ceci :

    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
    fid = fopen('data.txt','r');
     
    X = textscan(fid,'%s',2,'delimiter','\n');
     
    X{1} = strrep(X{1},sprintf('\t'),'";"');
    X{1} = strcat('"', X{1}, '"');
     
    Y = textscan(fid,'%s',3,'delimiter','\n');
    Y{1} = cellfun(@(x) ['"' x(1:10) '";"' x(12:16) '"' x(17:end)],Y{1},'uniformoutput',false);
    Y{1} = strrep(Y{1},sprintf('\t'),';');
     
    fclose(fid);
     
    fid = fopen('data2.txt','wt');
    fprintf(fid,'%s\n%s',X{1}{:});
    fprintf(fid,'\n%s',Y{1}{:});
    fclose(fid);
     
    edit data2.txt
    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)

  12. #12
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2013
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2013
    Messages : 40
    Points : 32
    Points
    32
    Par défaut
    oui finalement ça marche

    merci infiniment pour votre serviabilité

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

Discussions similaires

  1. Exporter un fichier txt vers un fichier structuré
    Par LAMAN dans le forum Langage
    Réponses: 10
    Dernier message: 24/01/2009, 22h46
  2. Mise en forme - Export en fichier txt
    Par Rikou31 dans le forum IHM
    Réponses: 3
    Dernier message: 20/08/2008, 12h21
  3. [HTML] Exporter contenus fichier .txt dans une page
    Par Gabyro dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 25/03/2008, 09h43
  4. [Système] fonction fopen ! exporter en fichier txt
    Par cseb73 dans le forum Langage
    Réponses: 5
    Dernier message: 13/08/2007, 16h32
  5. [MSSqlServeur 2000] export vers fichier txt
    Par squal_13 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 30/11/2004, 12h19

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