使用pandas的pd.to_datetime转换时间字符串遇格式匹配错误,求解决
解决pandas.to_datetime格式不匹配问题
问题根源
你的时间字符串与指定格式存在两处不匹配:
- 日期和时间之间是空格,但格式参数里写的是
T - 字符串末尾带有
UTC时区标识,格式中未包含对应处理规则
解决方案
方案1:精确匹配格式字符串
修改format参数,完全对应目标字符串的结构:
pd.to_datetime('2023-05-02 11:52:09.000000 UTC', format='%Y-%m-%d %H:%M:%S.%f %Z')
各格式符说明:
%Y-%m-%d:匹配年-月-日部分%H:%M:%S.%f:匹配时:分:秒.微秒部分%Z:匹配时区标识(如UTC)
方案2:自动解析(无需指定format)
如果你的时间字符串属于标准格式范畴,可以直接省略format参数,让pandas自动识别:
pd.to_datetime('2023-05-02 11:52:09.000000 UTC')
这种方式更灵活,适配多种标准时间格式,但处理超大规模数据时,指定format的解析速度会更快。
补充说明
解析完成后,结果会是带时区信息的datetime对象(需确保pandas版本支持时区处理,主流新版本均支持)。
内容的提问来源于stack exchange,提问作者Pedro Henrique Gomes
相关产品推荐
相关产品推荐

