Effacer les filtres
Effacer les filtres

How to use for loop to read one file in multiple folders?

16 vues (au cours des 30 derniers jours)
scully2014
scully2014 le 7 Oct 2018
Commenté : Image Analyst le 7 Oct 2018
I currently have a folder with 365 subfolders in it. Named Day_1, Day_2,....Day365. In each subfolder, there is a file named temp.txt. I want to read this file and extract data from all the subfolders. I can't figure out how to successfully do this with a loop. Any suggestions?

Réponses (2)

Image Analyst
Image Analyst le 7 Oct 2018
Use dir(). See attached example.
  1 commentaire
Image Analyst
Image Analyst le 7 Oct 2018
You haven't arrived at a solution yet? Alright, here is a simple example:
% Get a list of all files named temp.txt
% in the current folder or folders below it.
files = dir('**/temp.txt') % R2016b or later only
for k = 1 : length(files)
% Get the filename.
fullFileName = fullfile(files(k).folder, files(k).name)
thisData = importdata(fullFileName); % Read it in with some function.
% Now do something with thisData. Analyze it.
end

Connectez-vous pour commenter.


Stephen23
Stephen23 le 7 Oct 2018
Modifié(e) : Stephen23 le 7 Oct 2018
This should get you started:
D = 'directory where the subfolders are stored';
C = cell(1,365);
for k = 1:365
F = sprintf('Day_%d',k);
C{k} = csvread(fullfile(D,F,'temp.txt'));
end
Change csvread to an appropriate function that reads your text file. Read more:

Catégories

En savoir plus sur File Operations dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by