Extract values from multiple txt file

2 visualizaciones (últimos 30 días)
marco97f
marco97f el 16 de Nov. de 2022
Comentada: marco97f el 17 de Nov. de 2022
Hi,
I'd like to open multiple txt files, contained in the same directory, whose names are: "file1.txt", "file2.txt", ecc...
Each file is formatted in this way: value1 value2
so two float values separated by a space.
How is it possible to put all the values in a table with two column, with one row for each files?
Thanks a lot.

Respuesta aceptada

Stephen23
Stephen23 el 16 de Nov. de 2022
First lets create some fake data files just for testing this code:
writematrix(1:2,'file1.txt')
writematrix(3:4,'file2.txt')
writematrix(5:6,'file9.txt')
writematrix(7:8,'file10.txt')
Now lets get a list of those filenames:
P = '.'; % absolute or relative path to where the files are saved
S = dir(fullfile(P,'file*.txt'));
S = natsortfiles(S); % download from <www.mathworks.com/matlabcentral/fileexchange/47434-natural-order-filename-sort>
for k = 1:numel(S)
F = fullfile(S(k).folder,S(k).name);
V = readmatrix(F);
S(k).data = V;
end
M = vertcat(S.data)
M = 4×2
1 2 3 4 5 6 7 8
  3 comentarios
Stephen23
Stephen23 el 17 de Nov. de 2022
Editada: Stephen23 el 17 de Nov. de 2022
"There is also a way to use this in the case the separator in txt files is different from " , " ?"
In many cases with regular text formatting READMATRIX can automagically detect the delimiter character. If it cannot (or if you simply want to make your code more robust), you can specify the DELIMITER option:
"Do I have to modify something inside the script of natsortfiles?"
I doubt it. As its documentation makes quite clear, the function NATSORTFILES sorts filenames into alphanumeric order. What would you hope to achieve by modifying it?
marco97f
marco97f el 17 de Nov. de 2022
Ok, I resolve the problem.
Thanks a lot.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Environment and Settings en Help Center y File Exchange.

Productos


Versión

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by