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

多格式日期转换问题:兼容带/不带点的日期转为MM:DD:YYYY格式

解决混合格式日期转换问题

直接指定单一格式肯定兼容不了两种带点/不带点的月份缩写情况,给你两个靠谱的解决方案:

方案一:让pandas自动推断格式

pandas的pd.to_datetime本身具备自动识别多种日期格式的能力,不用手动指定format参数,直接解析后再转成目标格式即可:

import pandas as pd

# 自动解析所有混合格式的日期
df['Customer DOB'] = pd.to_datetime(df['Customer DOB'], infer_datetime_format=True)
# 转换为MM:DD:YYYY格式
df['Customer DOB'] = df['Customer DOB'].dt.strftime('%m:%d:%Y')

这个方法简单省心,绝大多数混合格式的日期都能准确识别。

方案二:先统一清洗日期字符串

如果担心自动推断出现异常,可以先把所有日期里的月份缩写点去掉,统一成不带点的格式,再用固定格式解析:

# 先移除所有日期字符串中的'.'字符
df['Customer DOB'] = df['Customer DOB'].str.replace('.', '', regex=False)
# 用统一的'%b %d, %Y'格式解析日期
df['Customer DOB'] = pd.to_datetime(df['Customer DOB'], format='%b %d, %Y').dt.strftime('%m:%d:%Y')

这样处理后,不管原来的月份是Mar.还是May,都会变成Mar和May,就能用同一个格式字符串完成解析了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 05:02:34