如何使用 python 从包含多个对象的 json 文件中读取单个对象?
How to read a single object from a json file containing multiple objects using python?
我有一个包含多个对象的 JSON 文件
{
"Elements": [
{
"name": "Hydrogen",
"symbol": "H"
},
{
"name": "Lithium",
"symbol": "Li"
},
{
"name": "Sodium",
"symbol": "Na"
}
]
}
我希望能够使用名称搜索它们,但只能搜索一个。到目前为止,我已经能够读取所有元素以及类似
的输出
Hydrogen
Lithium
Sodium
但我只想阅读其中一个对象而不是所有对象。
到目前为止,我的 python 代码是
import json
f = open('elements.json')
data = json.load(f)
for element in data['Elements']:
print(element['name'])
尝试添加一个 if
参数来检查它是否是您要查找的所需项目,然后只需记录其所有信息。
import json
with open('elements.json') as f:
data = json.load(f)
choice = input("Choose element: ")
for element in data['Elements']:
if element['name'] == choice:
for x, y in element.items():
print(x.title() + "-> " + y)
据我了解,您要求一个解决方案来获取具有提供的元素名称的第一个元素。这是:
def match(data, name):
for element in data['Elements']:
if element['name'] == name:
return element
另一种选择:
find first sequence item that matches a criterion
def match(data, name):
return next(element for element in data['Elements'] if element['name'] == name)
我有一个包含多个对象的 JSON 文件
{
"Elements": [
{
"name": "Hydrogen",
"symbol": "H"
},
{
"name": "Lithium",
"symbol": "Li"
},
{
"name": "Sodium",
"symbol": "Na"
}
]
}
我希望能够使用名称搜索它们,但只能搜索一个。到目前为止,我已经能够读取所有元素以及类似
的输出Hydrogen
Lithium
Sodium
但我只想阅读其中一个对象而不是所有对象。 到目前为止,我的 python 代码是
import json
f = open('elements.json')
data = json.load(f)
for element in data['Elements']:
print(element['name'])
尝试添加一个 if
参数来检查它是否是您要查找的所需项目,然后只需记录其所有信息。
import json
with open('elements.json') as f:
data = json.load(f)
choice = input("Choose element: ")
for element in data['Elements']:
if element['name'] == choice:
for x, y in element.items():
print(x.title() + "-> " + y)
据我了解,您要求一个解决方案来获取具有提供的元素名称的第一个元素。这是:
def match(data, name):
for element in data['Elements']:
if element['name'] == name:
return element
另一种选择: find first sequence item that matches a criterion
def match(data, name):
return next(element for element in data['Elements'] if element['name'] == name)