How to store several tables in one table using a loop
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Tamara Szecsey
el 11 de Nov. de 2020
Comentada: Tamara Szecsey
el 27 de Dic. de 2020
I want to store several csv files into tables which I then store in one table in order to plot them easily. Storing one csv file into one table works perfectly. Matlab won't use my counter for the for-loop as table fieldname, so it overwrites the first entry. This is my code so far:
counter = 1;
filename = ['measurement' sprintf( '%03d', counter) '.csv'];
while exist(filename, 'file') == 2
filename = ['measurement' sprintf( '%03d', counter) '.csv']
T.counter = readtable(filename) % this isn't working
counter = counter + 1;
end
The output is a 1x1 table T with the csv content named 'counter'. What I'd like to have is a n x 1 table T with n equals the amount of csv files.
0 comentarios
Respuesta aceptada
Ameer Hamza
el 11 de Nov. de 2020
Editada: Ameer Hamza
el 11 de Nov. de 2020
Creating a table of tables might not be a good strategy. The usual way is to create a cell array of tables. The following code shows an example
files = dir('measurement*.csv');
T = cell(size(files));
for i = 1:numel(files)
T{i} = readtable(files(i).name) % this isn't working
end
5 comentarios
Ameer Hamza
el 27 de Dic. de 2020
Write it like this
files = dir('*/measurement*.csv');
Más respuestas (0)
Ver también
Categorías
Más información sobre Startup and Shutdown en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!