You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Pandas将含多余字符的CSV时间列转换为datetime对象

Pandas解析带多余末尾字符的时间字符串解决方案

你的问题在于原解析器硬编码了时间字符串末尾为0,当末尾出现其他字符时匹配失败。解决思路是先截断时间字符串的最后一位字符,再用标准的微秒格式解析:

修改后的myparser函数如下:

def myparser(x):
    # 去掉时间字符串最后一位多余字符
    trimmed_time = x[:-1]
    # 按标准格式解析,%f对应6位微秒
    return pd.to_datetime(trimmed_time, format='%Y%m%d %H%M%S %f')

代码说明

  • 原时间字符串的最后一部分是7位(比如7579480或7106549),x[:-1]会截取前6位(757948或710654),正好符合%f(6位微秒)的格式要求。
  • 这种方式不依赖末尾字符的具体值,不管是0还是其他数字都能兼容,直接丢弃多余的最后一位。

验证示例

对于两种时间字符串:

20220904 182409 7579480 → 截断后为20220904 182409 757948,解析为2022-09-04 18:24:09.757948
20220904 182409 7106549 → 截断后为20220904 182409 710654,解析为2022-09-04 18:24:09.710654

都能正常转换为datetime对象。

内容的提问来源于stack exchange,提问作者Sh K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 11:12:23