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

如何用Python批量处理Excel列中所有单元格的日期格式转换?

批量转换RETA列的多种日期格式为标准datetime类型

针对RETA列存在的空值、Excel数值日期、多种字符串格式日期、无效格式等情况,我们可以写一个通用转换函数,结合pandas批量处理整列数据,同时兼容各种异常场景。

实现步骤与代码

首先确保安装了所需依赖:

pip install pandas xlrd openpyxl

完整处理代码:

from datetime import datetime
import xlrd
import pandas as pd
from pandas import NaT

def convert_reta_date(cell_value):
    # 处理空单元格或空白字符串
    if pd.isna(cell_value) or str(cell_value).strip() == "":
        return NaT
    
    # 处理Excel数值型日期(如44774.45833)
    if isinstance(cell_value, (int, float)):
        try:
            return datetime(*xlrd.xldate_as_tuple(cell_value, 0))
        except Exception:
            return "无效日期"
    
    # 处理字符串格式的日期,尝试多种常见格式
    cell_str = str(cell_value).strip()
    date_formats = [
        "%Y-%m-%d %H:%M:%S",    # 标准格式:2022-09-22 15:33:00
        "%m/%d/%Y %I:%M:%S %p", # 带AM/PM的格式:1/8/2022 10:00:00 AM
        "%Y-%m-%d",             # 仅日期的情况
        "%m/%d/%Y"              # 短日期格式
    ]
    
    for fmt in date_formats:
        try:
            return datetime.strptime(cell_str, fmt)
        except ValueError:
            continue
    
    # 所有格式匹配失败,标记为无效
    return "无效日期"

# 读取你的Excel文件,xls格式用engine="xlrd",xlsx用"openpyxl"
df = pd.read_excel("你的文件路径.xlsx", engine="openpyxl")

# 批量转换RETA列,新增列保存结果(保留原数据方便核对)
df["RETA_转换后"] = df["RETA"].apply(convert_reta_date)

# 打印转换结果预览
print(df[["RETA", "RETA_转换后"]])

# 保存转换后的文件
df.to_excel("转换完成的文件.xlsx", index=False)

代码说明

  1. 空值处理:识别空单元格或空白字符串,返回pandas的NaT(缺失时间值),方便后续数据清洗。
  2. Excel数值日期转换:利用xlrd.xldate_as_tuple把Excel的日期数值转成datetime,兼容你的原有单条处理逻辑。
  3. 多格式字符串解析:预定义常见的日期格式,依次尝试解析,覆盖示例中的标准时间、带AM/PM的时间等场景。
  4. 无效数据标记:无法解析的内容(如2022-09-2022 18:03:00)会标记为"无效日期",也可以改为返回NaT统一类型。

适配调整

  • 如果你的日期格式是日/月/年(如8/1/2022表示2022年8月1日),需要在date_formats中添加"%d/%m/%Y %I:%M:%S %p"格式。
  • 旧版xls文件,将pd.read_excel的engine参数改为"xlrd"。
  • 若不需要保留原RETA列,可以直接覆盖:df["RETA"] = df["RETA"].apply(convert_reta_date)。

内容的提问来源于stack exchange,提问作者Devaraj Mani Maran

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 01:53:21