Run function on all subfolders and save as separate structs
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I built a function that allows me to select a folder using uigetdir and process all the data files located in it. It takes a bunch of .txt files and saves the relevant data into a struct. The issue that I'm running into is that the function only targets one folder at a time; I usually have data saved in a main folder with several subfolders that are named according to the test variable being changed, and I don't want to have to manually run the function on all the subfolders.
For example: Main folder = testnumber1, inside the main folder are subfolders named pressure1, pressure2, etc (up to 20 folders)
What I'm looking to do is select the main folder (testnumber1) and have a recursive function call that allows me to get multiple structs labeled pressure1, pressure2, etc. I have the function set up already, but I don't know how to automate it and have it save the info to structs labeled with the folder names.
0 Commenti
Risposta accettata
Jan
il 7 Set 2021
Modificato: Jan
il 7 Set 2021
You are looking for txt files? Then:
Mainfolder = 'D:\testnumber1\';
FileList = dir(fullfile(Mainfolder, '**', '*.txt')); % ** means recursively
Result = struct([]);
for iFile = 1:numel(FileList)
% FileList(iFile).folder is the specific subfolder
File = fullfile(FileList(iFile).folder, FileList(iFile).name);
... Process the File here
Result(iFile).File = File;
Result(iFile).Data = ???
end
3 Commenti
Jan
il 8 Set 2021
Fine.
I prefer the simpler:
subfolders{k}
% instead of
string(subfolders(k))
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Structures in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!