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 :

[dlmwrite] Création fichier CSV [Débutant]


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 25
    Points : 16
    Points
    16
    Par défaut [dlmwrite] Création fichier CSV
    Bonjour à tous,
    Je possède un tableau de 10 lignes avec 56 paramètres pour chaque ligne.
    Je souhaiterai obtenir un fichier csv avec la liste des 56 paramètres que j'ai rentré à la main (1ère ligne) et sur la 2ème ligne de ce fichier csv avoir qu'une seule série de 56 valeurs de paramètres. Je souhaiterai donc avoir ceci :
    (Ligne1) Paramètre1, Paramètre 2, Paramètre 3 ....
    (Ligne2) 2.233, 4.5, 0.45 ....


    Mais j'obtiens avec dlmwrite("test.csv", ParamSets,'-append') ceci :
    (Ligne1) Paramètre1, Paramètre 2, Paramètre 3 ....
    (Ligne2) 2.233, 4.5, 0.45 ....
    (Ligne3) 1.145, 1.7, 4.02 ....
    (Ligne4) 2.99, 3.5, 9.33 ....
    etc
    Alors que comme dit précédemment je ne voudrais qu'une seule ligne après ma liste de paramètres.

    Nom : Capture d’écran (81).png
Affichages : 384
Taille : 161,2 Ko




    Je voudrais donc savoir si il est possible de "choisir" la ligne de mon tableau que je souhaite ajouter a mon ficher csv ou si il existe un autre moyen pour réaliser ma demande.

    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 165
    Points
    53 165
    Par défaut
    Essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    M = [2.233 4.5 0.45
        1.145 1.7 4.02
        2.99 3.5 9.33];
     
    fid = fopen('test.csv', 'wt');
     
    fprintf(fid, 'Parametre1, Parametre2, Parametre3, ...\n');
    fprintf(fid, '%f, ', M(1:end-1));
    fprintf(fid, '%f', M(end));
     
    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)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 25
    Points : 16
    Points
    16
    Par défaut
    Ok merci , c'est ce que je souhaite avoir, mais j'avais oublié de préciser que je voulais modifier ce fichier csv pour que toutes les lignes de paramètres "passent" dans ce fichier.
    En gros :
    "Paramètre 1, Paramètre 2, Paramètre 3
    2.233 4.5 0.45 "

    puis le modifier pour avoir :
    "Paramètre 1, Paramètre 2, Paramètre 3
    1.145 1.7 4.02"

    puis
    "Paramètre 1, Paramètre 2, Paramètre 3
    2.99 3.5 9.33"
    ainsi de suite.

    Hors avec votre code je ne peux que créer le fichier mais pas le modifier. J'obtiens cette erreur :
    "Error using fprintf
    Invalid file identifier. Use fopen to generate a valid file identifier."

    Savez vous comment faire pour le modifier?

  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 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 165
    Points
    53 165
    Par défaut
    Il suffit d'écraser le contenu du fichier à chaque itération :

    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
    M = [2.233 4.5 0.45
        1.145 1.7 4.02
        2.99 3.5 9.33];
     
    for n = 1:size(M,1)
     
        fid = fopen('test.csv', 'wt');
     
        fprintf(fid, 'Parametre1, Parametre2, Parametre3, ...\n');
        fprintf(fid, '%f, ', M(n,1:end-1));
        fprintf(fid, '%f', M(n,end));
     
        fclose(fid);
     
    end
    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)

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 25
    Points : 16
    Points
    16
    Par défaut
    Merci beaucoup , ça marche !

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

Discussions similaires

  1. Création fichier csv
    Par guigui69 dans le forum VBScript
    Réponses: 25
    Dernier message: 02/06/2009, 17h00
  2. [VBA-E] Création Fichier csv (séparateur Virgule)
    Par dev_php51 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/07/2008, 11h39
  3. Problème création fichier CSV
    Par goboben dans le forum Documents
    Réponses: 1
    Dernier message: 04/03/2008, 17h31
  4. Choix du repertoire pour création fichier csv
    Par edenyorke dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 02/07/2007, 10h45
  5. Création fichier csv
    Par krfa1 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 07/11/2005, 10h30

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