Import alphanumeric data from .txt
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi,
I'm searching to extract datas from a .txt.
The txt. is an instrument output that give me something like this:
02062012025000 0R0,Hp=0.0M,Th=9.8C,Vh=0.0N,Vs=13.4V,Vr=3.484V,Id=Hel
02062012025100 0R0,Hp=0.0M,Th=10.0C,Vh=0.0N,Vs=13.4V,Vr=3.485V,Id=Hel
02062012025200 0R0,Hp=0.0M,Th=10.0C,Vh=0.0N,Vs=13.4V,Vr=3.485V,Id=Hel
02062012025300 0R0,Hp=0.0M,Th=10.6C,Vh=0.0N,Vs=13.4V,Vr=3.485V,Id=Hel
02062012025400 ,Hp=0.0M,Th=10.0C,Vh=0.0N,Vs=13.4V,Vr=3.485V,Id=Hel
02062012025500 Vs=13.4V,Vr=3.484V,Id=Hel
02062012025600 0R0,Hp=0.0M,Th=10.0C,Vh=0.0N,Vs=13.4V,Vr=3.485V,Id=Hel
02062012025700 9C,Hp=0.0M,Th=10.0C,Vh=0.0N,Vs=13.4V,Vr=3.484V,Id=Hel
02062012025800 0.0M,Th=10.1C,Vh=0.0N,Vs=13.4V,Vr=3.484V,Id=Hel
02062012025900 =Hel
02062012026000 p=0.0M,Th=10.8C,Vh=0.0N,Vs=13.5V,Vr=3.484V,Id=Hel
The first four lines complete.
The next lines contain errors.
I want to extract for each parameter (Time,Th,Vh,Vs,Vr) an array with his values at each line. Where there is no value Nan could be ok.
I tryed with readtext.m but without results.
Thank you
0 commentaires
Réponse acceptée
Pedro Villena
le 22 Oct 2012
Modifié(e) : Pedro Villena
le 23 Oct 2012
fid=fopen('test_data.txt');
str = textscan(fid,'%s %s\r',inf);
fclose(fid);
timeStr = cell2mat(str{1});
Time = str2num(timeStr(:,9:end)); %%last 5 digits
for i=1:length(str{1}),
dataStr = cell2mat(str{2}(i));
id = regexp(dataStr,{'Th=','Vh=','Vs=','Vr='});
for j=1:length(id),
if ~isempty(id{j}),
Data(i,j) = sscanf(dataStr(id{j}+3:end),'%f');
else
Data(i,j) = Data(i-1,j);
end
end
end
0 commentaires
Plus de réponses (1)
Voir également
Catégories
En savoir plus sur Tables dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!