For Loop only showing data for last file within Array

I am trying to create a script that will load multiple xlsx files into one variable. When I run the code, I am able to see the correct number of files being processed however the variable I created to store files only shows the last files processed in the loop. *** I'm a beginner*** please let me know what I need to do so that the variable I created to store the files ( data_in) will no longer read as a 1x73 double rather a 3x73 double.
clear all; clc
[file_list, path_n] = uigetfile('.xlsx', 'Grab the files you want to process', 'MultiSelect', 'on');
if iscell(file_list) == 0
file_list = {file_list};
end
for i = 1:length (file_list)
filename = file_list{i};
data_in = xlsread([path_n filename]);
end

 Respuesta aceptada

Voss
Voss el 9 de Jun. de 2022
Editada: Voss el 9 de Jun. de 2022
Make data_in a cell array, and store the contents of each file in a different cell of data_in:
clear all; clc
[file_list, path_n] = uigetfile('.xlsx', 'Grab the files you want to process', 'MultiSelect', 'on');
if ~iscell(file_list)
file_list = {file_list};
end
n_files = numel(file_list);
data_in = cell(n_files,1)
for ii = 1:n_files
filename = file_list{ii};
data_in{ii} = xlsread([path_n filename]);
end
Then vertically concatenate the contents of all the cells of data_in. This will only work if all the cells' contents have the same number of columns.
data_in = vertcat(data_in{:});
% if each file contains a single row of data with 73 columns,
% then data_in is now a n_files-by-73 matrix

2 comentarios

That seems to have worked. All my data will populate in 73 columns so as I continue to add more files this should work out. Thank you.
Voss
Voss el 9 de Jun. de 2022
You're welcome!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Get Started with MATLAB en Centro de ayuda y File Exchange.

Preguntada:

el 9 de Jun. de 2022

Comentada:

el 9 de Jun. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by