Парсер dateutil: как разобрать время, разделенное пробелами?

1

Мне нужно повернуть строку, которая приходит ко мне в следующем формате "7/7/2001 16 14 58" в объект datetime, но пробелы не распознаются как разделитель времени. Я считаю, что парсер распознает только [-,:/]. Как добавить белые пробелы в dateutil?

Следующий код:

    from dateutil import parser
    example_datetime = ' 7/ 7/2001 16 14 58'
    parsed_datetime = parser.parse(example_datetime)

    print(parsed_datetime)

Возвращает эту ошибку:

ValueError: ('Unknown string format:', ' 7/ 7/2001 16 14 58')
Теги:
datetime
python-dateutil

1 ответ

1
Лучший ответ

Почему вы не используете библиотеку datetime python и не указываете свой формат?

from datetime import datetime
parsed_datetime = datetime.strptime(example_datetime, '%d/ %m/%Y %H %M %S')
print(parsed_datetime)

out:
datetime.datetime(2001, 7, 7, 16, 14, 58)
  • 0
    Я должен был уточнить ... Данные, которые приходят ко мне, могут быть в этом формате, но не обязательно в определенном формате. Я использую dateutil, чтобы разобраться во многих форматах данных с метками времени.
  • 1
    Если вам нужно обработать переменные пробелы, вы можете сначала сделать что-то подобное для нормализации: re.sub('\s+', ' ', re.sub('\\s*/\\s*', '/', ' 7/ 7/2001 16 14 58'.strip()))
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню