2017-02-09 160 views
1

我想替换字典中的键名。但我能够做简单的字典不复杂/嵌套的字典。如何替换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。那我该怎么做呢?

+0

检查在这里:http://stackoverflow.com/questions/41765897/how-to-assign-a-value-to-a-string –

回答

0

快速和肮脏的,因为d是你的字典:

import ast 
new_d = ast.literal_eval(str(d).replace("'GID':","'CODE':")) 
  • 转换字典作为字符串
  • 使用literal_eval

,这不是很学术,我承认更换引述值

  • 转换回字符串作为字典,但它是超级简单和不关心的嵌套。

  • 0

    nested_thing["Team"]["Teamline"][i]["GID"] = CODE应该是你想要什么,在哪里i = 0是第一个GID和1个第二

    (新增,还有一个nested_thing["Team"]["GID"]在顶部)