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 :

Lire un fichier texte


Sujet :

MATLAB

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 56
    Points : 44
    Points
    44
    Par défaut Lire un fichier texte
    Bonjour,

    Je suis débutant dans la programmation Matlab.

    Je suis devant un problème. J'ai un fichier texte
    à lire dans lequel il y a des données à extraire :

    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
    20
    21
    22
    23
    24
    25
    26
     
    [Traceur]																
    TEMPS s	10														
    [Donnees]																
    TIME	                  PRESSION	         TEMPERATURE	EMP	E01	E2	I3	PMEI04	MI05	AIRB	CA	CTA	CTU	ECH4	H4E	CO
    ms	N.m	m3/mn	mm.Hg	°C	-	-	-	-	-	°C	°C	°C	°C	ppm	ppm	%
    **	                 6.8629820000	0.0000000000	770.3116000000	24.4500100000	0.0000000000	0.0000000000	0.0000000000	1.2000000000	0.5000000000	25.0000000000	32.0000000000	90.0000000000	100.0000000000	-0.1800000000	0.4819000000	6.2810000000
    271.0000000000	6.8217630000	0.0000000000	770.3116000000	24.4500100000	0.0000000000	0.0000000000	0.0000000000	1.2000000000	0.5000000000	25.0000000000	32.0000000000	90.0000000000	100.0000000000	-0.1800000000	0.4819000000	6.2810000000
    371.0000000000	8.4155000000	0.0000000000	770.4616200000	24.4500100000	0.0000000000	0.0000000000	0.0000000000	1.2000000000	0.5000000000	25.0000000000	32.0000000000	90.0000000000	100.0000000000	-0.1739600000	0.5652600000	6.2810000000
    471.0000000000	8.2117540000	0.0000000000	770.6116400000	24.4500100000	0.0000000000	0.0000000000	0.0000000000	1.2000000000	0.5000000000	25.0000000000	32.0000000000	90.0000000000	100.0000000000	-0.1679200000	0.6486200000	6.2810000000
    571.0000000000	6.3021780000	0.0000000000	770.7616600000	24.4500100000	0.0000000000	0.0000000000	0.0000000000	1.2000000000	0.5000000000	25.0000000000	32.0000000000	90.0000000000	100.0000000000	-0.1618800000	**                     6.2810000000
    671.0000000000	6.4558810000	0.0000000000	770.9116800000	24.4500100000	0.0000000000	0.0000000000	0.0000000000	1.2000000000	0.5000000000	25.0000000000	32.0000000000	90.0000000000	100.0000000000	-0.1558400000	0.8153400000	6.2810000000
    771.0000000000	8.1962480000	0.0000000000	771.0617000000	24.4500100000	0.0000000000	0.0000000000	0.0000000000	1.2000000000	0.5000000000	25.0000000000	32.0000000000	90.0000000000	100.0000000000	-0.1498000000	0.8987000000	6.2810000000
    871.0000000000	1.0193540000	0.0000000000	771.0617000000	24.4500100000	0.0000000000	0.0000000000	0.0000000000	1.2000000000	0.5000000000	25.0000000000	32.0000000000	90.0000000000	100.0000000000	-0.1498000000	0.9091200000	6.2808000000
    971.0000000000	-5.1317390000	0.0000000000	771.0617000000	24.4500100000	0.0000000000	0.0000000000	0.0000000000	1.2000000000	0.5000000000	25.0000000000	32.0000000000	90.0000000000	100.0000000000	-0.1498000000	0.9195400000	6.2806000000
    1071.0000000000	-2.1121460000	0.0000000000	771.0617000000	24.4500100000	0.0000000000	0.0000000000	0.0000000000	1.2000000000	0.5000000000	25.0000000000	32.0000000000	90.0000000000	100.0000000000	-0.1498000000	0.9299600000	6.2804000000
    1171.0000000000	9.5871700000	0.0000000000	771.0617000000	24.4500100000	0.0000000000	0.0000000000	0.0000000000	1.2000000000	0.5000000000	25.0000000000	32.0000000000	90.0000000000	100.0000000000	-0.1498000000	0.9403800000	6.2802000000
    1271.0000000000	24.8605000000	0.0000000000	771.0617000000	24.4500100000	0.0000000000	0.0000000000	0.0000000000	1.2000000000	0.5000000000	25.0000000000	32.0000000000	90.0000000000	100.0000000000	-0.1498000000	0.9508000000	6.2800000000
    1371.0000000000	14.9122500000	0.0000000000	770.9116800000	24.4500100000	0.0000000000	0.0000000000	0.0000000000	1.2000000000	0.5000000000	25.0000000000	32.0000000000	90.0000000000	100.0000000000	-0.1366400000	1.0132400000	6.2798000000
    1471.0000000000	22.5769100000	0.0000000000	770.7616600000	24.4500100000	0.0000000000	0.0000000000	0.0000000000	1.2000000000	0.5000000000	25.0000000000	32.0000000000	90.0000000000	100.0000000000	-0.1234800000	1.0756800000	6.2796000000
    1571.0000000000	20.2518600000	0.0000000000	770.6116400000	24.4500100000	0.0000000000	0.0000000000	0.0000000000	1.2000000000	0.5000000000	25.0000000000	32.0000000000	90.0000000000	100.0000000000	-0.1103200000	1.1381200000	6.2794000000
    1671.0000000000	24.9049800000	0.0000000000	770.4616200000	24.4500100000	0.0000000000	0.0000000000	0.0000000000	1.2000000000	0.5000000000	25.0000000000	32.0000000000	90.0000000000	100.0000000000	-0.0971600000	1.2005600000	6.2792000000
    1771.0000000000	20.9403600000	0.0000000000	770.3116000000	24.4500100000	0.0000000000	0.0000000000	0.0000000000	1.2000000000	0.5000000000	25.0000000000	32.0000000000	90.0000000000	100.0000000000	-0.0840000000	1.2630000000	6.2790000000
    1871.0000000000	18.5602700000	0.0000000000	770.4616200000	24.4500100000	0.0000000000	0.0000000000	0.0000000000	1.2000000000	0.5000000000	25.0000000000	32.0000000000	90.0000000000	100.0000000000	-0.0971600000	1.2552000000	6.2790000000
    1971.0000000000	15.8944500000	0.0000000000	770.6116400000	24.4500100000	0.0000000000	0.0000000000	0.0000000000	1.2000000000	0.5000000000	25.0000000000	32.0000000000	90.0000000000	100.0000000000	-0.1103200000	1.2474000000	6.2790000000
    2071.0000000000	22.2254200000	0.0000000000	770.7616600000	24.4500100000	0.0000000000	0.0000000000	0.0000000000	1.2000000000	0.5000000000	25.0000000000	32.0000000000	90.0000000000	100.0000000000	-0.1234800000	1.2396000000	6.2790000000
    Je voudrais :
    - Récupérer dans une matrice en colonnes les en-têtes de colonnes
    - Récupérer les unités dans une matrice
    - Récupérer dans une autre matrice les données telles qu'elle sont présentées dans le fichier

    Le code existant utilise la fonction importData mais les colonnes des qui contiennent au moins
    une données n'étant pas en format numérique (exemple : **) ne sont pas prises en compte.

    Avez-vous une solution à me proposer svp ?

    Merci.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    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('fili.txt', 'rt');
    fgetl(fid);fgetl(fid);fgetl(fid);
    names = textscan(fgetl(fid), '%s', 'delimiter', '\t');
    units = textscan(fgetl(fid), '%s', 'delimiter', '\t');
    data = textscan(fid, repmat('%n', 1,17), ...
        'delimiter', '\t', ...
        'CollectOutput', true,...
        'TreatAsEmpty', '**');
    fclose(fid);
     
    names{1},units{1}, data{1}

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/12/2005, 15h57
  2. [Applet] lire un fichier texte
    Par lebesnec dans le forum Applets
    Réponses: 2
    Dernier message: 07/07/2005, 10h09
  3. Réponses: 1
    Dernier message: 24/11/2004, 16h54
  4. [Fichier] Lire un fichier texte long
    Par _Eric_ dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 18/08/2004, 15h22
  5. Réponses: 2
    Dernier message: 26/05/2004, 17h53

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