Вопрос
Когда я ищу дату в строке, используя dateparser, мне дают кортеж, который включает в себя как дату в виде строки, так и объект datetime.datetime.нужно только строку и где их несколько, если это возможно, каждое по отдельности.
Есть идеи о том, как я могу изолировать текст от результата - удаление объекта datetime.datetime?
Причина:
Я хочу использовать переменную, чтобы затем проанализировать слово до найденной даты.
from dateparser.search import search_dates
para = search_dates("Competition opens 1/03/19 at 6:00 AM and closes 17/05/19 at 5:00 PM", settings={'STRICT_PARSING': True, 'DATE_ORDER': 'DMY'})
for x in para[0]:
print (x)
print(type(x))
Я ищу «1/03/19 в 6:00 утра» и «
Вывод:
1/03/19 at 6:00 AM and
<class 'str'>
2019-03-01 06:00:00
<class 'datetime.datetime'>
Попытки
Я пробовал следующее:
Первый:
from dateparser.search import search_dates
para = search_dates("Competition opens 1/03/19 at 6:00 AM and closes 17/05/19 at 5:00 PM", settings={'STRICT_PARSING': True, 'DATE_ORDER': 'DMY'})
for x in para[0]:
date_time = x[0]
date_string = x[1]
print(date_time)
Выход:
TypeError: 'datetime.datetime' object is not subscriptable
А также,это:
from dateparser.search import search_dates
para = search_dates("Competition opens 1/03/19 at 6:00 AM and closes 17/05/19 at 5:00 PM", settings={'STRICT_PARSING': True, 'DATE_ORDER': 'DMY'})
for x in para[0]:
print (x(0))
Вывод:
TypeError: 'str' object is not callable
Наконец:
from dateparser.search import search_dates
para = search_dates("Competition opens 1/03/19 at 6:00 AM and closes 17/05/19 at 5:00 PM", settings={'STRICT_PARSING': True, 'DATE_ORDER': 'DMY'})
for x in para:
date_string = x[0]
print(date_string)
print(type(date_string))
Вывод:
1/03/19 at 6:00 AM and
<class 'str'>
17/05/19 at 5:00 PM
<class 'str'>