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 :

[csvread] Fichier csv avec chaines de caractères


Sujet :

MATLAB

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 209
    Points : 78
    Points
    78
    Par défaut [csvread] Fichier csv avec chaines de caractères
    Bonjour,

    J'ai un fichier ESSAI.csv dont j'aimerai récupérer les données avec Matlab.

    J'utilise donc la commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    >>M=csvread('ESSAI.csv')
    et j'obtiens les erreurs suivantes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ??? Error using ==> textscan
    Mismatch between file and format string.
    Trouble reading number from file (row 1, field 1) ==> "TIME
     
    Error in ==> csvread at 45
        m=dlmread(filename, ',', r, c);
     
    Error in ==> read at 1
    M=csvread('ESSAI.csv');
    >>
    Et pourtant, j'ai bien utilisé la syntaxe donnée par le help. C'est bizarre.

    Quelqu'un aurait une explication ?

    MErci beaucoup,

  2. #2
    Membre habitué
    Avatar de mr_langelot
    Profil pro
    Inscrit en
    Août 2003
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 113
    Points : 150
    Points
    150
    Par défaut
    Bonjour,

    tu n'as pas lu l'aide jusqu'au bout
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        M = CSVREAD('FILENAME') reads a comma separated value formatted file
        FILENAME.  The result is returned in M.  The file can only contain
        numeric values.
    donc, tu dois écrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    M=csvread('ESSAI.csv',1,0)
    Si tu as encore des problèmes, envoie le formalisme de ton fichier, les deux premières lignes ou le fichier en pièce jointe.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 209
    Points : 78
    Points
    78
    Par défaut
    Ah, d'accord. merci.

    En fait, la première ligne de mon ficher contient les noms des variables. (c'est pas des numeric values).


    Donc, si j'ai bien compris, c'est impossible de lire sous matlab un fichier csv avec des cellules qui contiennent des chaines de caractères, c'est vrai ?

  4. #4
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Non.

    mr_langelot t'a donné le code pour lire à partir de la seconde ligne (en supposant que tu n'as qu'une ligne de titre avec des chaines de caractères).

    Sinon :
    Comment interfacer MATLAB avec Excel ?
    te donne des solutions.

    Ou alors tu peux encore te débrouiller aussi avec la fonction TEXTSCAN.
    Règles du Forum

    Adepte de la maïeutique

  5. #5
    Membre averti

    Inscrit en
    Août 2007
    Messages
    302
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Points : 352
    Points
    352
    Par défaut
    ca depend de ton fichier CSV, mais ca ne sera pas forcement facile/possible de lire ton fichier correctement avec textscan. Le fait que les cellules puissent contenir elles-meme des virgules, etc. ne simplifie pas les choses. Chaque ligne peut techniquement aussi avoir un nombre different de colonnes. En resume, textscan marchera bien si tu as un controle suffisant sur tes donnees d'entree.

    Salutations,

    Greg

Discussions similaires

  1. Réponses: 11
    Dernier message: 07/10/2011, 09h19
  2. Condition avec chaine de caractère
    Par davelop dans le forum ASP
    Réponses: 1
    Dernier message: 13/09/2006, 12h15
  3. [CSV] Affichage d'un fichier csv avec pagination
    Par arnoweb dans le forum Langage
    Réponses: 4
    Dernier message: 26/07/2006, 15h13
  4. Diviser un fichier selon une chaine de caractères
    Par navis84 dans le forum Langage
    Réponses: 4
    Dernier message: 19/06/2006, 11h51
  5. Requete avec chaine de caractère commence par
    Par jazzes_dean dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/08/2004, 13h07

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