Combine excel files into one

27 Ansichten (letzte 30 Tage)
Ancalagon8
Ancalagon8 am 19 Okt. 2022
Kommentiert: Mathieu NOE am 3 Mär. 2023
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 Kommentar
Mathieu NOE
Mathieu NOE am 19 Okt. 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

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Mathieu NOE
Mathieu NOE am 19 Okt. 2022
Bearbeitet: Mathieu NOE am 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
  46 Kommentare
Ancalagon8
Ancalagon8 am 3 Mär. 2023
Thanks @Mathieu NOE !
Mathieu NOE
Mathieu NOE am 3 Mär. 2023
My pleasure !

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by