在matlab中使用txt和日期循环文件名

时间:2013-07-12 13:30:40

标签: matlab date loops text

我想从数千个日常数据文件中提取数据,如下所示。我如何根据具有以下文件名的日期将它们放入循环中? .7文件名末尾有所有文件。 3B42_daily.1999.02.27.7.nc,3B42_daily.1999.02.28.7.nc,3B42_daily.1999.02.27.7.nc,等等......

1 个答案:

答案 0 :(得分:2)

我建议使用regexp()来分割和分组这些信息,让我们从你那里的列表中创建一个。当然,你应该通过dir()得到这个列表,如果是一段工作代码,但是现在,让我们从

开始
files = {'3B42_daily.1999.02.27.7.nc', '3B42_daily.1999.02.28.7.nc', '3B42_daily.1999.02.27.7.nc'}

然后你可以制作一个单元格结构来将它们分开来

names = regexp(files, '\w+.(?<year>[0-9]{4}).(?<month>[0-9]{2}).(?<day>[0-9]{2}).\w+', 'names')

现在,名称应该是一个单元格数组,其中每个条目都包含年,月和日分隔。您可以访问

等元素
names{1}.day
names{2}.day

希望有所帮助。