Individual files reading
3 次查看(过去 30 天)
显示 更早的评论
I have some daily data , files shows the details of year, month and day GSAT20090101_xyz.h5, GSAT20090102_xyz.h5 ...31 , same for month 02 also.
I wanted to read only one month file from this folder e.g jan 1-31, 1-28 ...
I am new in matlab, so somebody please tell how i can set for loop for this problem.
0 个评论
采纳的回答
Arturo Moncada-Torres
2011-8-18
On a quick thought, it would be something like this:
files = dir('*.h5'); % Find the files with extension .h5 in the current directory.
month = '01'; % Month must be a string ('01' for January, '02' for February, etc.).
for ii = 1:numel(files)
nameFound = strfind(files(ii).name, ['GSAT2009' month]);
if nameFound
fid = fopen(files(ii).name);
% Do whatever you need with the files here.
fclose(fid);
end
end
EDIT
If you want to read year information separately, you can use the following, which is very similar:
files = dir('*.h5'); % Find the files with extension .h5 in the current directory.
month = '01'; % Month must be a string ('01' for January, '02' for February, etc.).
year = '2009'; % Year must be a string.
NOTE: If month or year are not strings and are numeric (double), you can use the function num2str.
for ii = 1:numel(files)
nameFound = strfind(files(ii).name, ['GSAT' year month]);
if nameFound
fid = fopen(files(ii).name);
% Do whatever you need with the files here.
fclose(fid);
end
end
Try it and let me know if it works.
3 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Dates and Time 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!