如何使用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
相关产品推荐
相关产品推荐

