在位置8解析日期时间字符串“09-11-2017 00:02:00”时出错

时间:2017-10-04 17:50:43

标签: python string pandas datetime

我使用一列datetime对象创建了一个数据框,对其进行了重新采样,但现在想将数据框转换为列表列表 - 其中日期时间现在又是字符串。

for i in range(1, len(dataf.index)):
    dataf["Time Stamp"][i] = datetime.strftime(dataf["Time Stamp"][i], '%m-%d-%Y %H:%M:%S')
    print(dataf["Time Stamp"][i])

我一直收到错误 (注意打印部分仅供我检查输出)

ValueError: Error parsing datetime string "09-11-2017 00:02:00" at position 8

但据我所知,我的日期格式完全相同。我甚至尝试过'%m-%d-%Y%H:%M:%S'的不同资本化无济于事。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你应该能够

dataf['Time Stamp'].dt.strftime('%m-%d-%Y %H:%M:%S')

所以重写专栏

dataf['Time Stamp'] = dataf['Time Stamp'].dt.strftime('%m-%d-%Y %H:%M:%S')

如果您有错误,可能是因为该列实际上不是日期时间。

dataf['Time Stamp'] = pd.to_datetime(
    dataf['Time Stamp']
).dt.strftime('%m-%d-%Y %H:%M:%S')

如果您有不可解析的数据

dataf['Time Stamp'] = pd.to_datetime(
    dataf['Time Stamp'], errors='coerce'
).dt.strftime('%m-%d-%Y %H:%M:%S')