Использование Strptime, когда некоторые данные имеют микросекунды, а некоторые нет - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть набор данных со строками, которые я конвертирую в DateTime.К сожалению, некоторые данные имеют микросекунды, а некоторые нет.Когда я пытаюсь преобразовать данные, используя следующее, я получаю следующую ошибку.

data['end_date'] = data['end_date'].apply(lambda x: datetime.strptime(str(x),"%Y-%m-%d %H:%M:%S"))    

ValueError: time data '2018-11-16 16:28:51' does not match format '%Y-%m-%d %H:%M:%S.%f'

Когда я удаляю.% F, я получаю следующую ошибку.

ValueError: unconverted data remains: .677215

Может кто-нибудь помочь мне с простым способом сделать strptime более умным в таких случаях?Я был бы очень признателен!

1 Ответ

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

Попробуйте это

try:
    data['end_date'] = data['end_date'].apply(lambda x: datetime.strptime(str(x),"%Y-%m-%d %H:%M:%S"))
except ValueError:
    data['end_date'] = data['end_date'].apply(lambda x: datetime.strptime(str(x),"%Y-%m-%d %H:%M:%S.%f"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...