Merging multiple file excel
1 view (last 30 days)
Show older comments
Rachele Franceschini
on 21 Sep 2021
Commented: Mathieu NOE
on 21 Sep 2021
Hi, I have 1000 file excel with only two field in column: time and value.
I would like to merge in one excel file with only two columns.
There is something solution?
0 Comments
Accepted Answer
Mathieu NOE
on 21 Sep 2021
hello Rachele
you can do this -
I used natsortfile (from FEX : https://fr.mathworks.com/matlabcentral/fileexchange/47434-natural-order-filename-sort ) to make sure the data are grabbed from the files in their natural name sorting which is not what matlab does autmatically
clc
clearvars
fileDir = pwd;
outfile = 'OUT.xlsx'; % output file name
fileNames = dir(fullfile(fileDir,'data*.xlsx')); % get list of data files in directory
fileNames_sorted = natsortfiles({fileNames.name}); % sort file names into order (https://fr.mathworks.com/matlabcentral/fileexchange/47434-natural-order-filename-sort)
M= length (fileNames_sorted);
out_data = [];
for f = 1:M
% option # 1 for numeric data only using importdata
raw = importdata( fullfile(fileDir, fileNames_sorted{f}));
% vertical contatenation of all individual files data
out_data = [out_data; raw.data];
end
% store out_data in excel file
writematrix(out_data,fullfile(fileDir,outfile));
2 Comments
More Answers (1)
See Also
Categories
Find more on Spreadsheets in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!