Я ищу для анализа даты из строки. Эта строка может содержать разные форматы, о которых я не знаю заранее.Элегантный способ анализа дат в python
from datetime import datetime
try:
return datetime.strptime(text, '%m/%d/%Y'))
except:
try:
return datetime.strptime(text, '%m/%d/%y'))
except:
try:
return datetime.strptime(text, '%Y/%m/%d'))
except:
try:
return datetime.strptime(text, '%b%d/%Y'))
except:
return None
Очевидно, это выглядит слишком подробным. Я уверен, что лучше использовать карту, но мне бы очень хотелось услышать ваше мнение - я ненавижу изобретать колесо.
Вы могли бы по крайней мере использовать цикл. –
Проверьте, что http://stackoverflow.com/questions/7048828/how-can-i-parse-multiple-unknown-date-formats-in-python – Rami
По какой-то причине я не хотел бы использовать dateutils.parse. Допустим, у меня есть небольшой набор форматов, как описано. Цикл определенно лучше. – martincho