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

如何在Python Polars中处理日期格式列?解决Excel加载年份变两位问题

解决Polars加载Excel后出生日期年份变为两位的问题

首先要明确:read_csv_options是Polars中read_csv方法的参数,read_excel根本不识别这个参数,你之前写的read_csv_options={'parse_dates':False}完全无效,这是核心问题之一。

针对你的需求,分两种场景处理:

场景1:Excel中出生日期是原生日期格式(单元格为日期类型)

Polars默认会把Excel原生日期解析为datetime类型,你看到的两位年份只是显示格式问题,数据本身是包含完整四位年份的。如果需要输出或显示为MM/DD/YYYY格式的字符串,可以用dt.strftime方法格式化:

import polars as pl

# 加载Excel,无需多余参数
df = pl.read_excel(r'C:\datos\test.xlsx')
# 将日期列格式化为MM/DD/YYYY字符串(替换原列或新增列)
df = df.with_columns(
    pl.col("出生日期").dt.strftime("%m/%d/%Y").alias("出生日期")
)

如果只是查看时显示四位年份,调整你的数据查看工具(比如Jupyter Notebook、Excel)的日期显示格式即可,无需修改代码。

场景2:Excel中出生日期是文本格式(单元格为文本类型,原始就是MM/DD/YYYY字符串)

如果不想让Polars自动解析日期,直接保留原始文本格式,给read_excel直接传parse_dates=False参数即可:

import polars as pl

# 关闭自动解析日期,保留原始文本格式
df = pl.read_excel(r'C:\datos\test.xlsx', parse_dates=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 13:15:21