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

如何将Python嵌套字典中的datetime.date类型键转换为字符串

将字典中datetime.date类型的键转换为指定格式字符串

你可以通过递归遍历字典的方式,批量处理所有层级的datetime.date类型键,将其转换为指定格式的字符串。以下是实现代码:

实现函数

import datetime as dt

def convert_date_keys(obj, date_format="%Y/%m/%d"):
    if isinstance(obj, dict):
        processed_dict = {}
        for key, value in obj.items():
            # 处理date类型的键
            if isinstance(key, dt.date):
                new_key = key.strftime(date_format)
            else:
                new_key = key
            # 递归处理嵌套的字典值
            processed_dict[new_key] = convert_date_keys(value, date_format)
        return processed_dict
    # 非字典类型直接返回原值
    return obj

测试示例

# 原始字典
d = {
    "A": {
        dt.date(2022, 5, 31): "AA"
    },
    dt.date(2022, 12, 12): "BB"
}

# 执行转换
result = convert_date_keys(d)
print(result)

运行后输出的结果即为你需要的目标字典:

{
    "A": {
        "2022/05/31": "AA"
    },
    "2022/12/12": "BB"
}

说明

  • 这个函数支持任意深度的嵌套字典,只要是datetime.date类型的键都会被转换。
  • 可以通过修改date_format参数自定义日期字符串格式,比如改成"%Y-%m-%d"就能得到"2022-05-31"这样的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 02:40:31