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

如何在Pandas中解析含异常字符的日期时间字符串并保留原格式?

解决Pandas解析含非标准'D'分隔符时间戳的问题

首先,你需要在格式串中明确包含那个非标准的'D'字符——Pandas的to_datetime方法会严格匹配格式串与输入字符串的结构,只要格式串和实际时间戳的结构完全对应,就能完成解析,不需要替换'D'。

具体操作

  • 假设你的时间戳格式为%Y-%m-%dD%H:%M:%S:%f(例如2024-05-20D14:30:00:123456),直接使用该格式串解析即可。
  • 示例代码:
import pandas as pd

# 模拟待处理数据
timestamps = ['2024-05-20D14:30:00:123456', '2024-05-21D09:15:00:654321']
df = pd.DataFrame({'raw_timestamp': timestamps})

# 用包含'D'的格式串解析
df['parsed_datetime'] = pd.to_datetime(df['raw_timestamp'], format='%Y-%m-%dD%H:%M:%S:%f')

print(df)

错误原因说明

之前出现TypeError: Unrecognized value type: <class 'str'>,本质是因为你使用的格式串%Y-%m-%d %H:%M:%S:%f和实际时间戳结构不匹配——实际是'D'分隔日期与时间,而格式串中用的是空格,导致Pandas无法识别字符串的时间格式,进而抛出类型相关错误。

额外提示

如果时间戳中'D'的位置有其他变化,只需对应调整格式串,将'D'作为固定字符写入格式串即可,Pandas会将其视为时间格式的一部分进行匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 19:50:29