Text reader to numbers
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Shawntae Harris
el 22 de Jul. de 2020
Comentada: Walter Roberson
el 22 de Jul. de 2020
I have to make a program that goes through a text file and extracts numerical values, I am having a hard time extracting those numbers, here is what I have so far. The text file also has a lot if letters associated with it to
6 comentarios
Respuesta aceptada
Walter Roberson
el 22 de Jul. de 2020
filename = 'HypothesisTest2.txt';
S = fileread(filename);
temperatures = str2double( regexp(S, '^(?<=2 FAIL OPEN_CIRCUIT Int ')[\d.]+', 'match') );
4 comentarios
Walter Roberson
el 22 de Jul. de 2020
If you were to post an actual file instead of an image of a file, I could test...
Oh, I do see one problem:
temperatures = str2double( regexp(S, '^(?<=2 FAIL OPEN_CIRCUIT Int )[\d.]+', 'match', 'lineanchors') );
Más respuestas (1)
Mohammad Sami
el 22 de Jul. de 2020
Editada: Mohammad Sami
el 22 de Jul. de 2020
Assuming the pattern shown in your picture. Ignore line 1, line 2& line 3 form a repeating pattern.
I would suggest read the entire file first. Then we split it by line. Then put the line following line 2 pattern together and same for line3.
file = 'filename.txt';
fid = fopen(file,'r');
rawtxt = fread(fid,'*char')';
rawtxt = splitlines(rawtxt);
line2s = rawtxt(2:2:end);
line3s = rawtxt(3:2:end);
line2txt = strjoin(line2s,newline);
line3txt = strjoin(line3s,newline);
out2 = textscan(line2txt,'%f FAIL OPEN_CIRCUIT Int %f degC');
out3 = textscan(line3txt,'%f %f W/m^2');
Ver también
Categorías
Más información sobre Language Support en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!