У меня есть список строк, и я хочу отбросить элементы, не являющиеся датой. Я просто хочу проверить, являются ли они датой, а не преобразовывать их в datetime. Я использую dateutil.parser
- как мне обработать возникающую ошибку и продолжить l oop? Вот мой код:
from dateutil.parser import parse
def drop_nondates(dates, fuzzy=False):
for string in dates:
try:
parse(string, fuzzy=fuzzy)
except:
dates.remove(string)
pass
return dates
Тестирование в небольшом списке:
In: drop_nondates( ['January 2018', 'Enero 2018', 'not a date 2018', '2018'] )
>>> ['January 2018', 'not a date 2018', '2018']
, но желаемый результат будет:
['January 2018', '2018']