How to write each iteration (data) in for loop to excel and how to read multiple excel files together?

7 次查看(过去 30 天)
Hello,
I have 20 excel files (subjects) and I want my code to read each excel file in one matlab code and perform the following operations for each excel file. In the below code, my code performs calculations for only one subject (excel file).
Each subject has 15 stages for the two variables and I want to write the value in each stage for the two variables (c and n) to the excel. However my code only writes the last value since it overwrites it. The aim of the code is to find raw values and finding the corresponding raw values of the two variables (c and n) for each 15 stage. And write them to the excel in this format (above are the names and below are their values):
c-1st stage c-2nd stage......c-15th stage n-1st stage n-2nd stage......n-15th stage
5 3 3 2 3 ..... 5
Could you please help me to solve these problems? I have tried some of the explanations in the forum but it did not work. Thank you so much.
data=xlsread('subject1');
count=data(:,1);
col=data(:,2);
resp1=data(:,3);
for j=0:14
m=1;
raw(m)=find((count ==j) & (resp1 ==1) ;
c(m)=col(raw(m));
n(m)=resp1(raw(m));
A=table(c(m), n(m));
writetable(A,'output1.xlsx');
m=m+1;
end

采纳的回答

Abderrahim. B
Abderrahim. B 2022-8-7
Hi!
With the below command you are overwriting output1.xlsx file, hence you are only getting the last written file.
writetable(A,'output1.xlsx');
Try something like this:
filename = "output" + num2str(m) + ".xlsx" ;
writetable(A, filename);
Hope this helps
  2 个评论
Go Sugar
Go Sugar 2022-8-7
Thank you so much for the prompt answer. It seems correct. However, I could not figure out if it works because it gives an error for using +, says that matrix dimensions must agree. I will work on it and I will try solving this error.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by