loading multiple xlsx files using for loop and readmatrix

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 件のコメント

Stephen23
Stephen23 2022 年 12 月 1 日
"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})
ans = 'model_model_1.xlsx'

サインインしてコメントする。

 採用された回答

David Hill
David Hill 2022 年 12 月 1 日

0 投票

for k=1:7
data{k}=readmatrix(sprintf('model_%d.xlsx',k));%create cell array assuming the sizes are not the same
end

その他の回答 (0 件)

質問済み:

2022 年 12 月 1 日

コメント済み:

2022 年 12 月 1 日

Community Treasure Hunt

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

Start Hunting!

Translated by