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

PowerQuery解析mm/dd/yyyy格式日期遇月日混淆及报错问题求助

解决mm/dd/yyyy格式日期解析的月日混淆与报错问题

你的问题核心是默认日期解析函数会自动推断格式,而你的数据存在单双位数混合的月日(比如4/17/2025和05/02/2023),导致函数误判月日顺序;当日期中的日大于12时(比如5/30/2023),还会因无法识别为合法月份而报错。

以下是针对常用场景的解决方案:

1. Pandas处理数据集

直接在pd.to_datetime()中显式指定格式,强制按照mm/dd/yyyy规则解析:

import pandas as pd

# 假设你的数据集存储在df中
df['Release_date.1'] = pd.to_datetime(df['Release_date.1'], format='%m/%d/%Y')
df['Requirement_date.1'] = pd.to_datetime(df['Requirement_date.1'], format='%m/%d/%Y')
  • %m:匹配两位数月份(单月自动补零识别)
  • %d:匹配两位数日期
  • %Y:匹配四位数年份

如果数据中存在格式异常的记录,可添加errors='coerce'参数将无效日期转为NaT,避免程序中断:

df['Release_date.1'] = pd.to_datetime(df['Release_date.1'], format='%m/%d/%Y', errors='coerce')

2. Python标准库处理单个日期字符串

使用datetime.strptime()指定格式解析:

from datetime import datetime

date_str = '5/30/2023'
parsed_date = datetime.strptime(date_str, '%m/%d/%Y')
print(parsed_date)  # 输出: 2023-05-30 00:00:00

若需批量处理,可结合循环和try-except捕获异常:

date_list = ['4/17/2025', '12/14/2023', 'invalid_date']
parsed_dates = []
for date_str in date_list:
    try:
        parsed_dates.append(datetime.strptime(date_str, '%m/%d/%Y'))
    except ValueError:
        parsed_dates.append(None)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 18:43:18