2017-04-10 17 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