reading an combining excel files

1 view (last 30 days)
Hi everyone,
I have a folder with excel files with I would all like to load in and combine. Is this a possibility? I want to prevent loading them in one-by-one and then combining them one-by-one since it contains around a 100 excel files with all just one row of heading and one row of data.

Accepted Answer

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 6 Feb 2023
There are a few different ways to get this task done. One of them is this one if your data files have the same number of numerical data sets (there is just one row of data in each file you stated):
FILE = fullfile('C:\Users\...', '*.xlsx'); % Directory where the files are residing.
LIST = dir(FILE);
N = length(LIST); % N number of files
Ncols = ??? % Ncols how many columns of data in
D = zeros(N, Ncols);
for ii = 1 : N
FFName = fullfile(LIST(ii).folder, LIST(ii).name);
DATA = readmatrix(FFName);
D(ii, :) = DATA; % NOW D contains all data from 100 files
end
  1 Comment
Lotte Piek
Lotte Piek on 6 Feb 2023
thank you very much! Would it be a possibility to keep the header ?

Sign in to comment.

More Answers (1)

Vineeta Shukla
Vineeta Shukla on 6 Feb 2023
Edited: Vineeta Shukla on 6 Feb 2023
Hi,
From my understanding, you can use the function spreadsheetDatastore to manage and import the data when you have data stored across multiple spreadsheet files.
Here is an example from documentation:
https://www.mathworks.com/help/matlab/import_export/read-a-sequence-of-spreadsheet-files.html
Here is a link to the documentation to understand more about spreadsheetDatastore: https://www.mathworks.com/help/matlab/ref/matlab.io.datastore.spreadsheetdatastore.html

Products


Release

R2022b

Community Treasure Hunt

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

Start Hunting!