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

