python-2.7 - 使用python格式化字典
问题描述
我是 python 新手,有人可以告诉我如何将给定的代码更改为下面给出的格式化代码。数据存储在字典中,我想将格式化的数据也存储在字典中。我正在使用python 2.7版。可以这样做吗?可以在同一个字典中进行更改还是我们需要创建一个新字典?
我的代码:
{
"roles":
{
"AA":[
{
"date":"20150101",
"total":6.0
},
{
"date":"20150201",
"total":14.5
},
{
"date":"20150301",
"total":14.5
}
],
"AB":[
{
"date":"20150301",
"total":1.6
},
{
"date":"20150401",
"total":1.6
},
{
"date":"20150501",
"total":7.24
}
]
}
}
我想要的代码:
{
"key" : "roles",
"values" : [
{
"key": "AA",
"values": [
{
"date": "20150101",
"total": 6
},
{
"date": "20150201",
"total": 14.5
},
{
"date": "20150301",
"total": 14.5
}
]
},
{
"key": "AB",
"values": [
{
"date": "20150301",
"total": 1.6
},
{
"date": "20150401",
"total": 1.6
},
{
"date": "20150501",
"total": 7.24
}
]
}
]
}
解决方案
不一定是最强大的,但只要输入格式与您提供的示例保持一致,就可以完成工作(pprint
仅用于格式化输出。您无需安装它即可使代码正常工作)
from pprint import pprint
output = {}
for key, value in input_dict.items():
output['key'] = key
output['values'] = [{'key': inner_key, 'values': inner_value}
for inner_key, inner_value in value.items()]
pprint(output)
输出
{'key': 'roles',
'values': [{'key': 'AA',
'values': [{'date': '20150101', 'total': 6.0},
{'date': '20150201', 'total': 14.5},
{'date': '20150301', 'total': 14.5}]},
{'key': 'AB',
'values': [{'date': '20150301', 'total': 1.6},
{'date': '20150401', 'total': 1.6},
{'date': '20150501', 'total': 7.24}]}]}
推荐阅读
- java - 将侦听器应用于 System.err?
- python - Python-检查用户是否输入了列表中的单词之一
- java - 如何通过设备锁定屏幕冷启动 React Native 应用程序?
- javascript - 有什么方法可以获取点击值的 id 并使用 Jquery 将其发送到另一个页面?
- android - 使用自定义视图作为 RecyclerView 中的项目 - 约束布局无法处理具有匹配约束宽度的子项
- scala - 如何在 Azure 的 Kubernetes 中进行 Scala 堆转储
- oauth-2.0 - 如何使用 jhipster registry swagger API 测试由 ouath2 保护的微服务
- thymeleaf - SpringBoot Thymeleaf 安全授权
- mysql - 如何在 MariaDB 中启用自动完成功能?
- regex - 用于 scalastyle 的自定义正则表达式以捕获丢失的空格