我想使用python
获取以下json文件的输出Json文件
{
"Name": [
{
"name": "John",
"Avg": "55.7"
},
{
"name": "Rose",
"Avg": "71.23"
},
{
"name": "Lola",
"Avg": "78.93"
},
{
"name": "Harry",
"Avg": "95.5"
}
]
}
当我寻找哈利时,我想得到这个人的平均分数 即我需要以下或类似的格式输出 哈利= 95.5
这是我的代码
import json
json_file = open('test.json') //the above contents are stored in the json
data = json.load(json_file)
do = data['Name'][0]
op1 = do['Name']
if op1 is 'Harry':
print do['Avg']
但是当我运行时我得到错误“IOError:[Errno 63]文件名太长了”
答案 0 :(得分:1)
你可以做这样简单的事情
import json
file = open('data.json')
json_data = json.load(file)
stud_list = json_data['Name']
y = {}
for var in stud_list:
x = {var['name']: var['Avg']}
y = dict(list(x.items()) + list(y.items()))
print(y)
它以字典格式提供输出
{' Harry':' 95.5',' Lola':' 78.93',' Rose' :' 71.23',' John':' 55.7'}
答案 1 :(得分:0)
如何使用python 3打印Harry的分数
import json
from pprint import pprint
with open('test.json') as data_file:
data = json.load(data_file)
for l in data["Name"]:
if (str(l['name']) == 'Harry'):
pprint(l['Avg'])
答案 2 :(得分:0)
json.load
从文件file-like
对象加载数据。如果您想从字符串中读取它,可以使用json.loads
。