Как сравнить 2 значения даты и времени, если они в формате str / text? - PullRequest
0 голосов
/ 21 ноября 2018

Во всем виноват мой плохой дизайн.У меня есть тип данных столбца datetime в виде текста.А теперь мне нужно сравнить (<) 2 значения даты и времени, если одно больше другого.Получение исключения как «не все аргументы преобразованы во время форматирования строки» </p>

Значения имеют формат «ГГГГ-ММ-ДД ЧЧ: ММ: СС»

Ответы [ 2 ]

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

Вы можете использовать time.mktime(parse(ts).timetuple()), где 'ts' - ваша строка метки времени.

Пример:

>>> ts1 = datetime.datetime.now().strftime("%Y-%M-%d %I:%M:%S")
>>> ts2 = datetime.datetime.now().strftime("%Y-%M-%d %I:%M:%S")
>>>
>>> ts1
'2018-02-21 03:02:58'
>>> ts2
'2018-03-21 03:03:11'
>>>
>>> time.mktime(parse(ts1).timetuple())
1519162378.0
>>>
>>> time.mktime(parse(ts2).timetuple())
1521581591.0
0 голосов
/ 21 ноября 2018

Решение состоит в том, чтобы использовать pandas.to_datetime, чтобы получить объект Timestamp из строки, для которой сравнение намного проще.Пример:

import pandas as pd

date1 = pd.to_datetime("1991-01-20 05:00:00")
date2 = pd.to_datetime("2005-10-01 15:12:00")
print(date1 < date2) # True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...