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

如何使用Pandas读取Excel列字符串并转换为指定日期格式

Pandas提取Excel字符串中日期并格式化实现方案

依赖安装

首先确保你已安装pandas和excel读取依赖:
pip install pandas openpyxl


实现步骤

  • 读取Excel表格数据,无表头时需指定header=None按列索引取值
  • 提取A列字符串末尾8位日期字符,格式不统一时可改用正则匹配
  • 将提取到的8位字符转换为日期类型,按需格式化输出为年/月/日格式

代码示例

情况1:Excel有表头,A列列名为part_info

import pandas as pd

# 替换为你的文件路径
df = pd.read_excel("your_file.xlsx")

# 直接提取末尾8位,转换为格式化后的日期字符串
df["formatted_date"] = pd.to_datetime(df["part_info"].str[-8:], format="%Y%m%d").dt.strftime("%Y/%m/%d")

# 如果你需要后续做日期计算,可保留日期类型,去掉dt.strftime部分即可:
# df["formatted_date"] = pd.to_datetime(df["part_info"].str[-8:], format="%Y%m%d")

情况2:Excel无表头,按列索引取值

import pandas as pd

# header=None表示无表头,A列对应索引为0
df = pd.read_excel("your_file.xlsx", header=None)
df["formatted_date"] = pd.to_datetime(df[0].str[-8:], format="%Y%m%d").dt.strftime("%Y/%m/%d")

适配异常场景说明

如果A列字符串格式不统一,可能存在多余后缀或者空格,可用正则匹配提取末尾8位连续数字:

df["formatted_date"] = pd.to_datetime(df["part_info"].str.extract(r"(\d{8})$", expand=False), format="%Y%m%d").dt.strftime("%Y/%m/%d")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:39:01