loading multiple xlsx files using for loop and readmatrix
    4 views (last 30 days)
  
       Show older comments
    
Dear all,
I have a number of excel files with the names:  
model_1.xlsx 
model_2.xlsx
model_3.xlsx
.
.
.
 model_100.xlsx
These files contain only numbers.
To simplify the analysis, let's assume that I want  to load into Matlab the first, say, 7  excel files. So I do the following
model={'model_1', 'model_2','model_3', 'model_4', 'model_5', 'model_6', 'model_7'};
for k = 1:7 
    data=readmatrix(sprintf('model_%s.xlsx', model{k}))
end
  But there must be a mistake in that code as it does not work. 
Could you help me with that?
Thank you!
1 Comment
  Stephen23
      
      
 on 1 Dec 2022
				"But there must be a mistake in that code as it does not work"
Take a look at what your SPRINTF call returns:
model = {'model_1', 'model_2','model_3', 'model_4', 'model_5', 'model_6', 'model_7'};
sprintf('model_%s.xlsx', model{1})
Accepted Answer
  David Hill
      
      
 on 1 Dec 2022
        for k=1:7
   data{k}=readmatrix(sprintf('model_%d.xlsx',k));%create cell array assuming the sizes are not the same
end
0 Comments
More Answers (0)
See Also
Categories
				Find more on Spreadsheets in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

