generating files using loop or other functions

1 view (last 30 days)
I have the attached data and I want to create an excel sheet with name Test1 that includes the 1st column with the 2nd column, then to create another files with name Test2 that includes the 1st column with the 3rd column and so on assuming I have many columns. Thanks in advance.
  2 Comments
Stephen23
Stephen23 on 27 Oct 2020
Edited: Stephen23 on 27 Oct 2020
To future readers: the accepted answer uses inefficient, complex code to access the table variables.
Do NOT follow this bad code example!
My comment below the answer shows the simpler, neater, less buggy, easier to debug, and much more efficient approach (i.e. the one given in the MATLAB documentation). Do NOT learn bad ways of writing MATLAB code.

Sign in to comment.

Accepted Answer

Sudhakar Shinde
Sudhakar Shinde on 27 Oct 2020
Use readtable and writetable functions.
Data=readtable('x1)Data.xlsx'); % Read excel data
[R,C]=size(Data); % get number of columns
VariableNames = Data.Properties.VariableNames; % Name of each column heading
for i=2:C
Out.Nu = eval(['Data.',VariableNames{1}]); % 1st column
Out.Var = eval(['Data.',VariableNames{i}]) ;
Table = table(Out.Nu,Out.Var);
writetable(Table,['Test' num2str(i-1),'.xlsx']); %%write into excel exmaple: Test1.xlsx
end
  5 Comments
Abdulkarim Almukdad
Abdulkarim Almukdad on 27 Oct 2020
I have used it and gave me the same answer. Thanks all.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!