在文件名列表的每个项中搜索datetime值

2024-06-25 23:27:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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)

Tags: 代码intxt文件夹live列表forraw