python - 如何使用关键字在 json 文件中搜索特定行?
问题描述
我想知道如何搜索具有特定名称的行。这是我的带有 json 的 .txt 文件:
{"people": [{"name": "Scott", "website": "stackabuse.com", "from": "Nebraska"}, {"name": "Larry", "website": "google.com", "from": "Michigan"}, {"name": "Tim", "website": "apple.com", "from": "Alabama"}]}
这是我的代码
import json
file = open('data.txt', "r")
read = file.read()
y = json.loads(read)
first = y["people"][0]
second = y["people"][1]
third = y["people"][2]
print(y["people"][0]["name"])
这会打印出 Scott,但是有没有办法在 json 文件中搜索名称为 Scott 的行?我试过 print(y["people"]["name": "Scott"]) 但这没有用。我希望输出为 {"name": "Scott", "website": "stackabuse.com", "from": "Nebraska"}
解决方案
您可以使用列表推导来过滤列表。例如
>>> people = y['people']
>>> people_named_scott = [p for p in people if p['name'] == 'Scott']
>>> people_named_scott
[{'name': 'Scott', 'website': 'stackabuse.com', 'from': 'Nebraska'}]
推荐阅读
- javascript - 如何在js中修剪html内容?
- r - 从列中提取数据以在 R 中创建另一列
- jquery - jquery 滑块花式框显示悬停箭头。但是我网站上的副本在悬停时缺少箭头
- openshift - glusterfs 和 glusterfs_registry 可以共享相同的节点/设备
- c# - 导出/导入 png 文件 Android Unity
- react-native - 调用函数作为组件 React-Native
- r - ggplot 使用黄土日期 - 将轴标签从数字更改为字符
- python - Python:使用带有 TF-IDF 的列表
- r - 安装 dartR 时出现问题,并且包“稍后”不可用(对于 R 版本 3.5.1)
- mysql - Hibernate 不创建连接表