我有一个数据集,其中包含要转换为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来帮助我吗?我将不胜感激!
答案 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"))