datetime.strptime не может конвертировать - PullRequest
0 голосов
/ 18 ноября 2018

Я пытаюсь преобразовать список дат (где каждая запись является строкой) в объект datetime.

Даты форматируются следующим образом: 2018-09-10 24: 11

Код, который я использовал:

dateTime = []


def makeDateTime(date):
    for entry in date[1:]:
        dateTime.append(datetime.strptime(entry, "%Y-%m-%d %H%M"))
    return dateTime

dt = makeDateTime(date)

и ошибка, которую я получаю:

ValueError                                Traceback (most recent call last)
<ipython-input-91-5ac073b0f75a> in <module>()
----> 1 dt = datetime.strptime(date[1], "%Y-%m-%d %H%M")

~/anaconda3/lib/python3.6/_strptime.py in _strptime_datetime(cls, data_string, format)
    563     """Return a class cls instance based on the input string and the
    564     format string."""
--> 565     tt, fraction = _strptime(data_string, format)
    566     tzname, gmtoff = tt[-2:]
    567     args = tt[:6] + (fraction,)

~/anaconda3/lib/python3.6/_strptime.py in _strptime(data_string, format)
    363     if len(data_string) != found.end():
    364         raise ValueError("unconverted data remains: %s" %
--> 365                           data_string[found.end():])
    366 
    367     iso_year = year = None

ValueError: unconverted data remains: :14

Даже когда я пытаюсь преобразовать одну запись вне циклаэто не похоже на работу.Есть идеи как это исправить?

1 Ответ

0 голосов
/ 18 ноября 2018

Если ваши даты выглядят как '2018-09-10 00:11', правильная строка формата - "%Y-%m-%d %H:%M" с : между часами и минутами.

>>> from datetime import datetime
>>> datetime.strptime('2018-09-10 00:11', '%Y-%m-%d %H:%M')
datetime.datetime(2018, 9, 10, 0, 11)

Однако вы все равно не сможете разобрать'2018-09-10 24:11' с этой строкой формата.Время 24:11 не существует, оно должно быть 00:11.Я предполагаю, что на данный момент это просто опечатка с вашей стороны.

В случае, если минуты и часы поменялись местами, вы можете использовать '%Y-%m-%d %M:%H' (но я догадываюсь на данный момент.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...