Read different file in certain category

If I have some file folders, like '19800101', '1980012',... '19801201',... In each file, it have a .mat file. I want to deal with folder according to if their belong to same month. like, .mat file in folder '19800101' and '19800102' should be done with same action.

2 commentaires

per isakson
per isakson le 3 Mar 2016
"In each file" &nbsp should that be "In each folder"?
Jason
Jason le 3 Mar 2016
Yes. In each folder. Thanks for correction

Connectez-vous pour commenter.

 Réponse acceptée

Ahmet Cecen
Ahmet Cecen le 3 Mar 2016
Grab a list of all the folders in a given month using something like:
files = dir('198001*');
Check MATLAB Regex for more elaborate sub-set extraction schemes you might need later here: http://www.mathworks.com/help/matlab/ref/regexp.html
You can then read all mat files in those folders with a for loop like:
for k = 1:length(files)
Data{k} = load([files(k).name,'\nameofmatfileinside.mat']);
end
This assumes the name of the matfile is the same inside all of those folders, which I suspect is the case. Also the direction of the directory slash might differ based on operating system.

7 commentaires

Jason
Jason le 3 Mar 2016
Thanks for reply. What about the name of matfile is different, its name is the folder name, like '19800101.mat'?
I write by myself. I think it is works.
Data{k}=load([files(k).name, '\', files(k).name, '.mat'])
Jason
Jason le 3 Mar 2016
for "files = dir('198001*');" it seems to me I only can create it 12 times since there are 12 months? do you have more efficient way?
Something along the lines of the below should work:
for i=1:12
if i<10
currentrgx = ['19800',num2str(i),'*'];
else
currentrgx = ['1980',num2str(i),'*'];
end
files = dir(currentrgx);
end
No need for an if-statement:
for i=1:12,
currentgrx = sprintf('1980%02d*',i)
% files = dir(currentrgx);
end
Ahmet Cecen
Ahmet Cecen le 3 Mar 2016
Ooh, nice.
Jason
Jason le 4 Mar 2016
Thanks for providing such efficient algorithm

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by