Combine excel files into one

20 views (last 30 days)
Ancalagon8
Ancalagon8 on 19 Oct 2022
Commented: Mathieu NOE on 17 Apr 2024
I want to run the code below, inside every folder i have an excel file (data.xls) and i want to compare 10 excel files into 1. Can anyone help me?
path = 'D:';
S = dir(fullfile(path, '*', 'data.xls'))
for k = 1:numel(S)
F = fullfile(S(k).folder,S(k).name);
data = readtable(F);
d = datetime(strcat(table2array((data(:,1))), {' '}, table2array((data(:,2 )))));
acceleration = table2array((data(:,3 )));
xlswrite('file.xls', data)
end
  1 Comment
Mathieu NOE
Mathieu NOE on 19 Oct 2022
hello
you have to explain what data you want to extract , combine and save.
for the time being your doing things in the for loop that are not even in the saved output excel file (you r'e saving what you simply loaded from the input file)
so you have to explain your logic and probably share some input files as well if we want to test the code
all the best

Sign in to comment.

Accepted Answer

Mathieu NOE
Mathieu NOE on 19 Oct 2022
Edited: Mathieu NOE on 9 Nov 2022
so I relicated the same folder tree and file name (same in every folder)
this is a slightly modified code , try it :
path = 'D:\2019';
S = dir(fullfile(path, '*', 'data.xls'))
for k = 1:numel(S)
F = fullfile(S(k).folder,S(k).name);
data = readtable(F);
d = strcat(table2array((data(:,1))), {' '}, table2array((data(:,2 ))));
out = [d data(:,3)]; % date / time / acceleration
out = renamevars(out,'Var1','Date & Time');
writetable(out,'file.xls',"Sheet",k)
end
  67 Comments
Mathieu NOE
Mathieu NOE on 17 Apr 2024
as always, my pleasure !!

Sign in to comment.

More Answers (0)

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!