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 :

importer un .txt avec plusieurs séparateurs [Débutant]


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 13
    Par défaut importer un .txt avec plusieurs séparateurs
    Bonjour à tous,

    Voici mon problème:
    Je travaille actuellement sur des milliers de fichiers txt que je download via internet.

    Ils sont sous cette forme : Exemple :
    _____________________________________________
    WOD05_US 8123918 C 11/19/1997 21:00 -70.8699951172 38.1599998474 0.600000023842 19.3600006104
    1.29999995232 19.1399993896
    1.89999997616


    _____________________________________________

    Comme vous pouver le constater il y a 3 séparateurs : tabulation, / et :
    Quelqu'un aurait il une routine pour éliminer les 3 premières colonnes et ouvrir le txt avec 3 séparateur différents ?

    Je remercie d'avance ceux qui m aideront dans ce casse tete chinois

    Cordialement

    Nuestracr

  2. #2
    Expert confirmé
    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
    Par défaut
    Pourquoi ne pas plutôt lire avec un seul séparateur (tabulation), avec TEXTSCAN par exemple ?
    Puis ensuite enlever les 3 premières colonnes de la variable obtenue.

    Puis traiter les cas spécifiques / et : (quoique je ne vois pas très bien pourquoi vouloir séparer les dates et les temps mais bon.)

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 13
    Par défaut
    Je vais essayé mais je ne comprend que très mal la fonction textscan.
    Pourrais tu être un peu plus précis si cela ne te déranges pas bien sur ?

  4. #4
    Expert confirmé
    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
    Par défaut
    Qu'est-ce que tu ne comprends pas dans la fonction TEXTSCAN ?
    Le mieux c'est d'essayer, avec différents formats jusqu'à ce que ça marche (enfin moi c'est ma méthode ).

    Tu y vas d'abord "bourrin" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    fid = fopen('monfichier','rt');%ouverture du fichier en lecture texte
    res = textscan(fid,'%s');%lecture de tout en texte, il se débrouille par défaut pour les séparateurs et on verra bien
    fclose(fid); %surtout ne pas oublier de refermer le fichier
    res{1} %là ça doit afficher quelque chose
    Oui TEXTSCAN met toujours (enfin presque) le résultat dans une unique cellule qui contient d'autres cellules.
    Faut regarder dedans, voir si ça te plait, et sinon affiner avec les différents formats et options.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 13
    Par défaut
    Disons que j ai utilisé textscan pour la première fois ce matin à 10h donc je suis pas encore famillié

    pour l instant je ne comprend pas les Field Type :

    je fais actuellement comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    fid = fopen('019.txt');
    C = textscan(fid, '%f', 'delimiter', '/t', ...
                 'EmptyValue', NaN);

  6. #6
    Expert confirmé
    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
    Par défaut
    Et ça te donne quelque chose ? (désolée je ne peux tester je n'ai pas MATLAB sous la main)

  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
    Essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    str = 'WOD05_US 8123918 C 11/19/1997 21:00 -70.8699951172 38.1599998474 0.600000023842 19.3600006104 1.29999995232 19.1399993896 1.89999997616';
     
    [X{1:11}] = strread(str,'%*s%*d%*s%d%d%d%d%d%f%f%f%f%f%f','delimiter',' /:')
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    X = 
     
        [11]    [19]    [1997]    [21]    [0]    [-70.8700]    [38.1600]    [0.6000]    [19.3600]    [1.3000]    [19.1400]
    Le format devrait être équivalent avec TEXTREAD ou TEXTSCAN

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 28/11/2010, 02h53
  2. [(n)awk] Parsing avec plusieurs séparateurs de champs
    Par gangsoleil dans le forum Linux
    Réponses: 6
    Dernier message: 27/03/2007, 16h02
  3. import fichier Txt avec du SQL
    Par bouba_95 dans le forum Access
    Réponses: 1
    Dernier message: 19/01/2007, 21h44
  4. strtok avec plusieurs séparateurs
    Par lalaurie40 dans le forum C
    Réponses: 2
    Dernier message: 10/10/2005, 21h49
  5. Pb import fichier txt avec lignes de longueurs diverses
    Par zebulon90 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/12/2004, 08h32

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