[英]how to replace value in a json file using python?
我想做的是:-
with open ('gw.json') as json_file:
data = json.load(json_file)
new_gw = {
'gw_id': f"{react.id}",
'gw_prize': prize,
'gw_status': "ongoing"
}
data.append(new_gw)
with open('gw.json', 'w') as j:
json.dump(data, j, indent=4)
#some other stuff
#when completed
with open ('gw.json', 'r') as jsonFile:
data = json.load(jsonFile)
for x in data:
if x['gw_id'] == f"{msgid}":
x['gw_status'] = x['gw_status'].replace('ongoing', x['completed']) #change the value of 'gw_status' when completed
with open ('gw.json', 'w') as jsonFile:
json.dump(data, jsonFile)
我想做的是
[
{
"gw_id": "id",
"gw_prize": "prize",
"gw_status": "ongoing"
}
{
"gw_id": "904905768149590086",
"gw_prize": "tdd",
"gw_status": "ongoing" <== this one to be changed to "completed"
}
]
但是我写的代码不起作用请帮忙!! 我需要完成这个直到明天
看起来您的帖子主要是代码; 请添加更多详细信息。 看起来您的帖子主要是代码; 请添加更多详细信息。 看起来您的帖子主要是代码; 请添加更多详细信息。
代替
x['gw_status'] = x['gw_status'].replace('ongoing', x['completed'])
和
x['gw_status'] = 'completed'
更改此代码后,您的代码将如下所示
with open ('gw.json') as json_file:
data = json.load(json_file)
new_gw = {
'gw_id': f"{react_id}",
'gw_prize': prize,
'gw_status': "ongoing"
}
data.append(new_gw)
with open('gw.json', 'w') as j:
json.dump(data, j, indent=4)
#some other stuff
#when completed
with open ('gw.json', 'r') as jsonFile:
data = json.load(jsonFile)
for x in data:
if x['gw_id'] == f"{msgid}":
x['gw_status'] = 'completed' #change the value of 'gw_status' when completed
with open ('gw.json', 'w') as jsonFile:
json.dump(data, jsonFile)
运行代码前的gw.json文件
[
{ "gw_id": "id",
"gw_prize": "prize",
"gw_status": "ongoing"
}
]
运行代码后的gw.json文件
[
{ "gw_id": "id",
"gw_prize": "prize",
"gw_status": "ongoing"
},
{
"gw_id": "904905768149590086",
"gw_prize": "tdd",
"gw_status": "completed"
}
]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.