我正在开发的Python 3程序中遇到此错误。导致错误的原因的简化版本
import pandas as pd
fmt = '%Y-%m-%dT%H:%M:%S.%f%z'
date_string = '2019-05-25T12:34:56.000+0000'
print(pd.to_datetime(arg = date_string, format = fmt))
错误是
ValueError: 'z' is a bad directive in format '%Y-%m-%dT%H:%M:%S.%f%z'
最终我意识到我使用了错误的conda环境,该环境运行的熊猫为0.23.4而不是0.24.2,所以我很好奇为什么错误发生在前者而不是后者。
答案 0 :(得分:1)
您会在较旧的0.23版本的熊猫中看到错误,因为尚未实现%Z
和%z
指令。
根据What’s New in 0.24.0 (January 25, 2019):
to_datetime()
现在在传递为格式时支持%Z
和%z
指令。
这是GitHub上的相关问题:ENH: bad directive in to_datetime format - this uses std. strptime zone offset #13486