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

조회 수: 5 (최근 30일)
scully2014
scully2014 2018년 10월 7일
댓글: Image Analyst 2018년 10월 7일
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?

답변 (2개)

Image Analyst
Image Analyst 2018년 10월 7일
Use dir(). See attached example.
  댓글 수: 1
Image Analyst
Image Analyst 2018년 10월 7일
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

댓글을 달려면 로그인하십시오.


Stephen23
Stephen23 2018년 10월 7일
편집: Stephen23 2018년 10월 7일
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:

카테고리

Help CenterFile Exchange에서 Search Path에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by