#python #web-scraping
#python #веб-очистка
Вопрос:
У меня есть такой код:
def _updated_external(self):
return dig(self.property_data, 'analyticsInfo', 'analyticsProperty', 'added')
И он возвращает мне "20201104"
, что мне нужно сделать ГГГГ-ММ-ДД
Функция dig
работает с вложенными dicts.
Мне нужно получить дату и преобразовать ее для другой функции.
Я знаю, что лучше использовать dateparser.parser
, но немного запутался в том, как правильно это написать.
Комментарии:
1. что у вас есть
dig
? Чего вы ожидаете без кода?2. Если у вас есть строка
20201104
, разделите ее с помощью[:4]
,[4:6]
,[6:]
и добавьте точки.3. @barny вы добавили
YYYY-MM-DD
, но OP не упомянул, какой формат он использует. Что делать, если OP нуженYYYY-DD-MM
илиDD.MM.YYYY
или другой формат? 🙂4. @furas Нет, это было редактирование операции. Я изменил удаление в названии на удаление, поскольку удаление означает удаление как мусора, тогда как удаление означает сбор содержимого веб-страницы.
5. @barry извините — когда я проверил историю выпусков, я увидел оба изменения и подумал, что оба являются вашими изменениями.
Ответ №1:
Если у вас есть дата в виде строки, вы можете использовать стандартную строковую функцию для ее изменения
txt = '20201104'
result = txt[:4] '-' txt[4:6] '-' txt[6:]
Результат:
'2020-11-04'
В конечном итоге вы можете использовать standard datetime
для его анализа
txt = '20201104'
result = datetime.datetime.strptime(txt, '%Y%m%d')
Результат:
datetime.datetime(2020, 11, 4, 0, 0)
И позже вы можете использовать strftime
для генерации в другом формате.
result.strftime('%Y-%m-%d')
Результат:
'2020-11-04'