ValueError:时间数据'1:00:00'与格式'%H:%M:%S'不匹配

时间:2016-10-23 15:12:05

标签: python datetime pandas time strptime

我正在尝试将字符串转换为'datetime64 [ns]'格式。小时是非零填充的,我想这可能会导致问题。

数据示例:

1    8:49:15
2    8:49:16
3    8:49:17
Name: time, dtype: object

我用来将字符串转换为时间的代码:

dfp['time'] = pd.to_datetime(dfp['time'], format='%H:%M:%S')

我也尝试过:

time_tansformed = []

for t in dfp['time']:
    time_i = datetime.datetime.strptime(t, "%H:%M:%S")
    time_tansformed.append(time_i)

我得到了同样的错误:

ValueError: time data ' 1:00:00' does not match format '%H:%M:%S' (match)

我在Win10上使用Python 3.5(Anaconda)。

如何将其转换为时间格式? 我应该添加0来填补小时数还是有不同的方式?

1 个答案:

答案 0 :(得分:2)

字符串中有一个前导空格:

' 1:00:00'

这样做:

dfp['time'] = pd.to_datetime(dfp['time'].strip(), format='%H:%M:%S')