当某些数据具有微秒且有些数据没有微秒时使用Strptime

时间:2018-11-27 17:37:23

标签: python datetime

我有一个数据集,其中包含要转换为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 :(得分:1)

尝试一下

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"))