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
相关产品推荐
相关产品推荐

