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

如何将数据列中代表月日的3位整数转换为YYYY-MM-DD标准日期

3位月日整数转2022年标准YYYY-MM-DD日期实现方案

核心转换逻辑:该编码规则下,数字最后两位固定为日期值,剩余左侧部分为月份值,统一补全年份为2022,月份不足2位时补前导0,最终拼接为标准日期格式即可。以下是不同场景下可直接复用的实现方式:

  • Excel/WPS表格实现
    若原始数据从A2单元格开始存放在A列,直接在相邻单元格输入以下公式,下拉填充整列即可得到结果:

    =TEXT(DATE(2022,INT(A2/100),MOD(A2,100)),"yyyy-mm-dd")
    

    逻辑拆解:

    • INT(A2/100)对数值除以100取整,得到月份值(如410计算后得到4,对应4月)
    • MOD(A2,100)取数值除以100的余数,得到日期值(如410计算后得到10,对应10日)
    • 通过DATE函数生成2022年对应日期,再用TEXT函数格式化为YYYY-MM-DD格式。该公式同时兼容10-12月的4位编码值(如1023对应10月23日),无需额外修改。
  • Python Pandas批量处理实现
    若使用Pandas处理表格数据,可直接用以下代码完成转换:

    import pandas as pd
    
    # 假设存储3位整数的列名为raw_date
    df['formatted_date'] = pd.to_datetime(
        '2022' + df['raw_date'].astype(str).str.zfill(3),
        format='%Y%m%d'
    ).dt.strftime('%Y-%m-%d')
    

    逻辑拆解:先将整数转为字符串并统一补为3位长度,前面拼接固定年份2022得到6/7位日期字符串,按年-月-日规则解析为日期类型后,格式化为要求的输出格式。

  • 原生Python列表处理实现
    若直接处理数值列表,无需依赖第三方库即可实现:

    raw_dates = [410, 417, 505, 522]
    result = []
    for val in raw_dates:
        month = val // 100
        day = val % 100
        result.append(f"2022-{month:02d}-{day:02d}")
    

    运行后result输出为['2022-04-10', '2022-04-17', '2022-05-05', '2022-05-22'],完全匹配目标效果。

校验提示:转换完成后可以抽查几个值确认月日拆分是否正确,只要原始数据符合「最后两位为日期」的编码规则,上述方法转换结果不会出错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 13:57:08