如何替换python嵌套字典中的字典键名
问题描述:
我想替换字典中的键名。但我能够做简单的字典不复杂/嵌套的字典。如何替换python嵌套字典中的字典键名
{
"Team": {
"DataState": "A",
"GID": "0021500038",
"TID": "1610612758",
"PTS": "103",
"FBPTS": "8",
"PTSIP": "46",
"BgLd": "12",
"TIMREM": "0",
"TFLS": "7",
"TeamLine": [{
"DataState": "A",
"GID": "0021500038",
"TID": "1610612758",
"PER": "1",
"PTS": "31",
"FLS": "5"
}, {
"DataState": "A",
"GID": "0021500038",
"TID": "1610612758",
"PER": "14",
"PTS": "0",
"FLS": "0"
}]
}}
我想用CODE来代替GID。那我该怎么做呢?
答
转换回字符串作为字典,但它是超级简单和不关心的嵌套。
快速和肮脏的,因为d
是你的字典:
import ast
new_d = ast.literal_eval(str(d).replace("'GID':","'CODE':"))
- 转换字典作为字符串
- 使用
literal_eval
,这不是很学术,我承认更换引述值
答
nested_thing["Team"]["Teamline"][i]["GID"] = CODE
应该是你想要什么,在哪里i
= 0是第一个GID和1个第二
(新增,还有一个nested_thing["Team"]["GID"]
在顶部)
检查在这里:http://stackoverflow.com/questions/41765897/how-to-assign-a-value-to-a-string –