Combine excel files into one

103 visualizzazioni (ultimi 30 giorni)
Ancalagon8
Ancalagon8 il 19 Ott 2022
Commentato: Mathieu NOE il 17 Apr 2024 alle 16:05
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 Commento
Mathieu NOE
Mathieu NOE il 19 Ott 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

Accedi per commentare.

Risposta accettata

Mathieu NOE
Mathieu NOE il 19 Ott 2022
Modificato: Mathieu NOE il 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 Commenti
Ancalagon8
Ancalagon8 il 17 Apr 2024 alle 15:53
@Mathieu NOE thank you!!
Mathieu NOE
Mathieu NOE il 17 Apr 2024 alle 16:05
as always, my pleasure !!

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Data Import from MATLAB in Help Center e File Exchange

Prodotti


Release

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by