在文件名列表的每一项中搜索日期时间值

时间:2019-01-25 12:40:58

标签: python datetime search boto3

我在S3存储桶的某个文件夹中有很多csv文件,我编写了一些代码来创建该文件夹中所有文件名的列表。

列表示例如下:

 file_list = ['live/live_raw/july18/xxxx_yyyyyyyyy_zzzzzzz_20180730_MET40.txt',
 'live/live_raw/july18/xxxx_yyyyyyyyy_zzzzzzz__20180730_MET41.txt',
 'live/live_raw/july18/xxxx_yyyyyyyyy_zzzzzzz__20180731_MET42.txt',
 'live/live_raw/july18/xxxx_yyyyyyyyy_zzzzzzz__20180731_MET43.txt',
 'live/live_raw/july18/xxxx_yyyyyyyyy_zzzzzzz__20170731_MET44.txt']

我想为唯一的日期创建新的子列表,如下所示:

matching_("%Y%m%d") = [s for s in file_list if strftime("%Y%m%d") in s]

结果:

matching_20180730= 
['live/live_raw/july18/xxxx_yyyyyyyyy_zzzzzzz_20180730_MET40.txt',
     'live/live_raw/july18/xxxx_yyyyyyyyy_zzzzzzz__20180730_MET41.txt']

matching_20180731= 
['live/live_raw/july18/xxxx_yyyyyyyyy_zzzzzzz__20180731_MET42.txt',
 'live/live_raw/july18/xxxx_yyyyyyyyy_zzzzzzz__20180731_MET43.txt']

matching_20170731= 
['live/live_raw/july18/xxxx_yyyyyyyyy_zzzzzzz__20170731_MET44.txt']

您将如何去做?我可以使用以下代码匹配特定的字符串,但不能匹配特定格式的字符串(或日期时间):

import re
new_list = [x for x in file_list if re.search('20170731', x)]
for item in new_list:
    print(item)

0 个答案:

没有答案