我有一个json文件,其内容如下:
[{"headline":"Ntugamo court issues criminal summons against Rukutana",
"url_src":"\/news\/headlines\/67240-ntugamo-court-issues-criminal-summons-against-rukutana"},
{"headline":"Corruption: Equal Opportunities Commission boss granted bail",
"url_src":"\/news\/headlines\/67239-corruption-equal-opportunities-commission-boss-granted-bail"},
{"headline":"Bobi Wine to launch corruption manifesto in Mbarara rejects EC security team",
"url_src":"https:\/\/www.monitor.co.ug"}]我正在试图查找和删除{和}中包含“腐败”一词的所有部分,包括花括号本身。
例如,在本例中,.py脚本将删除
{"headline":"Corruption: Equal Opportunities Commission boss granted bail","url_src":"/news/headlines/67239-corruption-equal-opportunities-commission-boss-granted-bail"}
同时移除
{"headline":"Bobi Wine to launch corruption manifesto in Mbarara rejects EC security team","url_src":"https:\/\/www.monitor.co.ug"}这在Python2.7中有可能吗?
发布于 2020-12-06 16:52:06
您可以使用一个列表理解来迭代list中的每个dict。
在每次迭代中将每个字典转换为一个字符串,并使用if "corruption" not in str(d).lower()来检查字符串"corruption"是否位于小写字符串中。如果没有,那就保留它:
import json
with open("j.json", "rb") as f:
lst = json.load(f)
lst = [d for d in lst if "corruption" not in str(d).lower()]
print(lst)输出:
[{'headline': 'Ntugamo court issues criminal summons against Rukutana',
'url_src': '/news/headlines/67240-ntugamo-court-issues-criminal-summons-against-rukutana'}]如果要将列表写入json文件,请使用json.dump
with open("j.json", "w", encoding="utf8") as f:
json.dump(lst, f)https://stackoverflow.com/questions/65170534
复制相似问题