Bonjour à tous,
Je monte un programme permettant de traité des données issues d'un fichier .txt que j'aimerai enregistré dans un autre fichier *.txt.
j'ai établi un code permettant d'enlever les entêtes, de supprimer des ' " ', de remplacer des espace par des virgules et vis versa.
voici le code:
Mon code bug à deux endroits:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82 format long svt='essai 1.txt'; %% Enlever les en têtes fid=fopen(svt,'r'); N=4; for n=1:N; fgetl(fid); end X=fread(fid); fid=fopen('dada.txt','w'); fwrite(fid,X); fclose(fid); clear X clear N clear fid %%Enlever les '"' fid=fopen('dada.txt','r'); X=fread(fid); %modification des paramètres idx=strrep(X,'"',''); fid=fopen('dada.txt','w'); fwrite(fid,idx); fclose(fid); clear X; clear fid; clear idx; %%Enlever les 'espace' et remplacer par des ',' fid=fopen('dada.txt','r'); X=fread(fid); %modification des paramètres idx=strrep(X,' ',','); fid=fopen('dada.txt','w'); fwrite(fid,idx); fclose(fid); clear X; clear fid; clear idx; %Enlever les ',' et remplacer par des 'espaces' fid=fopen('dada.txt','r'); X=fread(fid); %modification des paramètres idx=strrep(X,',',' '); fid=fopen('dada.txt','w'); fwrite(fid,idx); fclose(fid); clear X; clear fid; clear idx; %% transformation du fichier txt en colonne avec format adequat et stockage %% dans une cellule 'Scan' fid=fopen('dada.txt'); Scan=textscan(fid,'%s %s %u32 %u32 %u32 %u32 %u32 %u32'); %% permet de nommer les différentes matrices date=Scan{1,1}; heure=Scan{1,2}; Cond=Scan{1,3}; Temp1=Scan{1,4}; Temp2=Scan{1,5}; Turb=Scan{1,6}; %% permet d'avoir sous format numérique la date et l'heure en concaténant %% les deux cellules date et heure num={date heure}; num=[num{1,1} num{1,2}]; num=cell2mat(num); dateheure=datenum([num(:,1:10) repmat(' ',length(num(:,1)),1) num(:,11:end)],'yyyy-mm-dd HH:MM:SS'); clear date; clear heure; clear num;
1) lorsque j’enlève les entêtes, le fichier 'dada.txt' n'est pas dan le même format que le fichier initial. c a d que le format d'origine est :
mais ensuite le fichier réécrit n'a plus d'entête comme prevu mais toute les ligne sont attachées...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 "TOA5","CR800Series","CR800","17398","CR800.Std.21","CPU:Dattalogger1.CR8","48133","Table1" "TIMESTAMP","RECORD","BattV","Cond","Ct","Temp","TurbNTU" "TS","RN","Volts","mS/cm","mS/cm","Deg C","NTU" "","","Smp","Smp","Smp","Smp","Smp" "2011-07-19 14:46:00",0,12.39,0.082,0.04675161,7.049,16.96 "2011-07-19 14:48:00",1,12.39,0.082,0.04684953,7.019,16.96 "2011-07-19 14:50:00",2,12.4,0.082,0.04697675,7.087,16.96 "2011-07-19 14:52:00",3,12.4,0.082,0.04685926,7.047,16.96 "2011-07-19 14:54:00",4,12.4,0.082,0.046918,7.047,16.5
2) dans un second temps, lorsque j'utilise la fonction textscan, les matrices Temp1 Temp2 et Turb ne contiennent pas les bonnes valeurs.
La taille de ce fichier initial est d'environs 10Mo.....
Toute aide est la bienvenue!!!
Merci
Partager