【发布时间】:2013-07-12 13:30:40
【问题描述】:
我想从数千个日常数据文件中提取数据,如下所示。我将如何根据日期将它们放入具有以下文件名的循环中?文件名末尾的 .7 包含所有文件。 3B42_daily.1999.02.27.7.nc、3B42_daily.1999.02.28.7.nc、3B42_daily.1999.02.27.7.nc等等......
【问题讨论】:
-
任何代码?到目前为止你做了什么?
我想从数千个日常数据文件中提取数据,如下所示。我将如何根据日期将它们放入具有以下文件名的循环中?文件名末尾的 .7 包含所有文件。 3B42_daily.1999.02.27.7.nc、3B42_daily.1999.02.28.7.nc、3B42_daily.1999.02.27.7.nc等等......
【问题讨论】:
我建议使用 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
希望对您有所帮助。
【讨论】: