2017-04-10 35 views
2

的迭代名单上有10年的数据有一个文件每一天。每个文件都有这样一个名字:Python的日期

PRISM_ppt_stable_4kmD2_20151226_bil.bil(2015年12月26日)

我想通过在每个文件并把那些具有相同的日期,但不同年份列表上一起所以有应该每个列出10个项目。如果有人能帮我解决问题,我很难弄清楚如何让这个工作顺利进行。

感谢

+1

取文件名(零下后缀BIL)和分裂的'_',则假设所有文件名格式一致,采取5项,并将其转换为使用datetime模块的日期。当您解析的文件名,将它们添加到包含元素的列表解析DateTime对象和文件名,然后使用'itertools.groupby'功能,用适当的按键功能来创建组。当你有没有在你的任务中提到的任何企图,我怀疑你会得到任何人编写的代码对你来说,但如果你做了任何尝试,发布它们将有助于你的事业。 –

+0

考虑接受答案,如果它确实帮助你,当然 – mekkanizer

回答

3

使用REG EXPS赶上日期,然后使用[]操作字符串的处理它。为您的样品文件名的日期可以通过简单的[0-9] {8}正则表达式(它意味着“数字字符正好是8次)被捕获
你 示例代码:

import re 
match = re.search(r'[0-9]{8}', fileName) 
date = match.group() 
year = date[:4] 
+0

这工作完美,谢谢! – user94506