У меня много CSV-файлов в папке в корзине S3, я написал некоторый код, который создает список всех имен файлов в папке.
Пример списка выглядит так:
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)