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

Python Pandas两列日期格式转换报错求助(YYYYmmdd转dd/mm/YYYY)

解决DataFrame日期格式转换报错问题

错误原因

你在处理StartDate列时犯了一个低级错误:代码里写的是pd.to_datetime(df['EndDate'], format='%Y%m%d'),误用了已经转换为dd/mm/YYYY格式的EndDate列数据去解析,而指定的格式还是原数据的%Y%m%d,两者格式不匹配,自然抛出ValueError。

修正后的代码

import pandas as pd

df = pd.read_csv("AllNewFile.csv")
# 转换EndDate列格式
df['EndDate'] = pd.to_datetime(df['EndDate'], format='%Y%m%d').dt.strftime('%d/%m/%Y')
# 转换StartDate列格式,注意这里要引用StartDate列
df['StartDate'] = pd.to_datetime(df['StartDate'], format='%Y%m%d').dt.strftime('%d/%m/%Y')

df.head(10)

优化建议(可选)

如果需要转换多列日期格式,可以封装成函数减少重复代码:

import pandas as pd

def convert_to_ddmmyyyy(date_series):
    return pd.to_datetime(date_series, format='%Y%m%d').dt.strftime('%d/%m/%Y')

df = pd.read_csv("AllNewFile.csv")
df['EndDate'] = convert_to_ddmmyyyy(df['EndDate'])
df['StartDate'] = convert_to_ddmmyyyy(df['StartDate'])

内容的提问来源于stack exchange,提问作者Lone-Learner

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 16:12:30