Reading multiple csv file from multiple folder

I have a main folder contains 6 sub folder. Each sub folder contains 15 csv file. How to read all this data together?

 Accepted Answer

P = 'absolute or relative path to the main folder';
S = dir(fullfile(P,'*','*.csv'));
for k = 1:numel(S)
F = fullfile(S(k).folder,S(k).name);
T = readtable(F); % or READCELL or READMATRIX
% do whatever with your table/cell/matrix
% e.g. store the data from every iteration:
S(k).data = T;
end

3 Comments

Thank you for your time.
It only save the last csv file. I need to save the data of each subfolder together.
"I need to save the data of each subfolder together."
You can easily store the imported file data in the structure S:
P = 'absolute or relative path to the main folder';
S = dir(fullfile(P,'*','*.csv'));
for k = 1:numel(S)
F = fullfile(S(k).folder,S(k).name);
T = readtable(F); % or READCELL or READMATRIX
S(k).data = T;
end
For example, the 2nd file:
S(2).folder % path
S(2).name % filename
S(2).data % imported data
It works with me. Thank you for your time.

Sign in to comment.

More Answers (0)

Products

Release

R2021a

Tags

Asked:

on 13 Jul 2023

Commented:

on 15 Jul 2023

Community Treasure Hunt

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

Start Hunting!