[英]how to replace a key-value pair for a key in json file using python
{
"xyz" : {
"SERVER": "xxx@localhost",
"WEBHCAT_SERVER": "http://qws.qs.i5.internal.cloudapp.net:50111/templeton/v1/",
},
"SNSPARK": {
"PROJECT_BASE": "/home/databrik/newdp/projects",
"SCRIPT_BASE": "/home/databrik/newdp/scripts",
"DATA_FILE_BASE": "/home/databrik"
},
"LOCAL": {
"PROJECT_BASE": "/home/pica/Installation/databricks/platform/projects",
"SCRIPT_BASE": "/home/pica/Installation/databricks/platform/scripts",
"DATA_FILE_BASE": "/home/pica",
"CB_URL_BASE": "http://11.222.222.111:3017/api/v1"
},
"DEFAULT_BACKEND": "LOCAL",
"public": {
"USE_LDAP": false
}
}
我上面有json文件,我想通过python代码更改“ LOCAL”键下所有键的值,我的json文件应更改为以下内容:
{
"xyz" : {
"SERVER": "xxx@localhost",
"WEBHCAT_SERVER": "http://qws.qs.i5.internal.cloudapp.net:50111/templeton/v1/",
},
"SNSPARK": {
"PROJECT_BASE": "/home/databrik/newdp/projects",
"SCRIPT_BASE": "/home/databrik/newdp/scripts",
"DATA_FILE_BASE": "/home/databrik"
},
"LOCAL": {
"PROJECT_BASE": "/home/louis/databricks/platform/projects",
"SCRIPT_BASE": "/home/louis/databricks/platform/scripts",
"DATA_FILE_BASE": "/home/louis",
"CB_URL_BASE": "http://22.222.222.22:3017/api/v1"
},
"DEFAULT_BACKEND": "LOCAL",
"public": {
"USE_LDAP": false
}
}
有人可以帮忙吗?
使用json
模块和str.replace
。
import json
d = """{
"xyz" : {
"SERVER": "xxx@localhost",
"WEBHCAT_SERVER": "http://qws.qs.i5.internal.cloudapp.net:50111/templeton/v1/"
},
"SNSPARK": {
"PROJECT_BASE": "/home/databrik/newdp/projects",
"SCRIPT_BASE": "/home/databrik/newdp/scripts",
"DATA_FILE_BASE": "/home/databrik"
},
"LOCAL": {
"PROJECT_BASE": "/home/pica/Installation/databricks/platform/projects",
"SCRIPT_BASE": "/home/pica/Installation/databricks/platform/scripts",
"DATA_FILE_BASE": "/home/pica",
"CB_URL_BASE": "http://11.222.222.111:3017/api/v1"
},
"DEFAULT_BACKEND": "LOCAL",
"public": {
"USE_LDAP": false
}
}"""
d = json.loads(d)
for k in d["LOCAL"]:
d["LOCAL"][k] = d["LOCAL"][k].replace("pica/Installation", "louis")
print(json.dumps(d, indent=2))
输出:
{
"SNSPARK": {
"PROJECT_BASE": "/home/databrik/newdp/projects",
"SCRIPT_BASE": "/home/databrik/newdp/scripts",
"DATA_FILE_BASE": "/home/databrik"
},
"DEFAULT_BACKEND": "LOCAL",
"public": {
"USE_LDAP": false
},
"LOCAL": {
"PROJECT_BASE": "/home/pica/louis/databricks/platform/projects",
"SCRIPT_BASE": "/home/pica/louis/databricks/platform/scripts",
"DATA_FILE_BASE": "/home/pica",
"CB_URL_BASE": "http://11.222.222.111:3017/api/v1"
},
"xyz": {
"WEBHCAT_SERVER": "http://qws.qs.i5.internal.cloudapp.net:50111/templeton/v1/",
"SERVER": "xxx@localhost"
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.