Loading files from subfolders, the file name in all the folders are same but with different data.

2 views (last 30 days)
I am trying to combine results from a simulation. The simulation results file contains 40 sub folders and the files in all the folders are same but with different data. Example my first folder contains files file1,file2,file3,....,file 30. Every other sub folders also contain files with same name. Now I need to load the data of file1 from all the folders. Can someone help me out regarding this?

Answers (2)

Image Analyst
Image Analyst on 18 Dec 2017
See attached demo to process files in a folder and all its subfolders..

Walter Roberson
Walter Roberson on 18 Dec 2017
projectdir = '.'; %name directory that has the subfolders in it
dinfo = dir(projectdir);
dinfo(~[dinfo.isdir]) = []; %remove non-directories
dinfo(ismember({dinfo.name}, {'.', '..'})) = []; %remove . and .. directories
foldernames = fullfile(projectdir, {dinfo.name});
numfolder = length(foldernames);
MaxFile = 30;
data_by_file = cell(MaxFile, 1);
for K = 1 : MaxFile
thisfile = sprintf('file%d', K);
instance_names = fullfile(foldernames, thisfile);
data_for_this_name = [];
for F = 1 : numfolder
data_for_this_instance = LoadInData( instance_names{F} ); %do whatever to load data
data_for_this_name = [data_for_this_name; data_for_this_instance];
end
data_by_file{K} = data_for_this_name;
end
  2 Comments
Parthiban C
Parthiban C on 18 Dec 2017
Thanks for your help Walter. I have a question in this. For example if I am searching for file1 in all the sub folders where we are mentioning that?
Walter Roberson
Walter Roberson on 18 Dec 2017
for K = 1 : MaxFile
thisfile = sprintf('file%d', K);
that causes iteration over file1, file2, file3, etc.
The data for file1 will put together and stored into data_by_file{1}, for file2 will be in data_by_file{2} and so on.

Sign in to comment.

Categories

Find more on File Operations 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!