Extracting data from messy text file
Mostrar comentarios más antiguos
Data file attached. There is a header followed by row names. I want to extract the numeric data for Time, and Area and Volume then group them together into a convenient format for analysis. I've tried textscan, sscanf. I haven't regexp because I've never used it before! Many thanks in advance!
3 comentarios
dpb
el 14 de Jul. de 2014
Data file attached....
'Cepting it ain't... :)
Azzi Abdelmalek
el 14 de Jul. de 2014
No file attached
Teresa Tutt
el 14 de Abr. de 2015
Yes, please can someone post the "Data.txt" file?
Respuesta aceptada
Más respuestas (2)
Joseph Cheng
el 14 de Jul. de 2014
Editada: Joseph Cheng
el 14 de Jul. de 2014
dpb's solution is much more elegant but thought i'd put what i did so far.
fid = fopen('Data.txt');
nlines = 1;
dashes = [];time=[]; timeline=[];
dataInd = 1;
while 1
tline = fgetl(fid);
if ~ischar(tline),break,end
if ~isempty(tline)& length(tline)>=2
switch tline(2:3)
case '--'
dashes = [dashes nlines];
case 'Ti'
timeline = [timeline nlines];
tTime= sscanf(tline,' Time [T] %f');
if isempty(tTime),continue, end;
Data(dataInd).time = tTime;
dataInd = dataInd +1;
case 'Ar'
tArea= sscanf(tline,' Area [V] %f%f%f')';
Data(dataInd).Area = tArea;
case 'Vo'
tVolume= sscanf(tline,' Volume [V] %f%f%f')';
Data(dataInd).Area = tArea;
case 'hM'
thmean= sscanf(tline,' hMean [L] %f%f%f')';
Data(dataInd).hMean = thmean;
end
end
nlines = nlines+1;
end
D. Ali
el 27 de Abr. de 2019
0 votos
I have similar question where I need to extarct all MCAP amples with time they occured on in separat file and plot if possilbe
I attached the file
Categorías
Más información sobre Data Import and Export en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!