如何在Python中删除JSON文件中的特定值?
所以我得到了一个JSON文件如何在Python中删除JSON文件中的特定值?,python,json,Python,Json,所以我得到了一个JSON文件 { "banned": [123, 456] } 我想做的是,如果可能的话,通过Python的JSON模块或Python本身,只删除banked的123值 我尝试的是: with open("banned.json", "w") as bannedload: bannedjson = json.load(bannedload) bannedjson["banned&quo
{
"banned": [123, 456]
}
我想做的是,如果可能的话,通过Python的JSON模块或Python本身,只删除banked的123值
我尝试的是:
with open("banned.json", "w") as bannedload:
bannedjson = json.load(bannedload)
bannedjson["banned"].pop(123)
# json.dump(bannedjson, bannedload) This Line was just for testing
第二次尝试:
with open("banned.json", "w") as bannedload:
bannedjson = json.load(bannedload)
del bannedjson["banned"][123]
# json.dump(bannedjson, bannedload) This Line was just for testing
有人知道怎么做吗?del和pop都基于元素的索引工作,您可以使用remove方法删除元素,如下所示:
bannedjson["banned"].remove(123)
请注意,如果要删除的元素在列表中不存在,remove将抛出错误。您可以在删除前使用in子句进行检查:
elt = 123
if elt in bannedjson["banned"]:
bannedjson["banned"].remove(elt)
此外,“删除”仅删除元素的第一个匹配项,您可以使用列表理解删除所有元素,如下所示:
elt = 123
bannedjson["banned"] = [element for element in bannedjson["banned"] if elt != element]
到目前为止你都试了些什么?@KlausD。我试过了。pop和del也使用json.dumpShow向我们展示你的代码!添加了代码@KlausD。两个代码块似乎都很好。现在您只需重新打开文件进行写入,或者使用新文件并转储数据。因此,我配置了我的版本,现在它可以工作了!谢谢你的帮助!