Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在列表中选择特定的统计信息_Python_Text_Statistics_Extract - Fatal编程技术网

Python 在列表中选择特定的统计信息

Python 在列表中选择特定的统计信息,python,text,statistics,extract,Python,Text,Statistics,Extract,我真的是一个编程新手,我只想从运行此api代码中提取3行代码。这是来自nhl.com的: import requests import lxml.html from pprint import pprint from sys import exit import json import csv url = "https://api.nhle.com/stats/rest/team?isAggregate=false&reportType=basic&isGame=false&a

我真的是一个编程新手,我只想从运行此api代码中提取3行代码。这是来自nhl.com的:

import requests
import lxml.html
from pprint import pprint
from sys import exit
import json
import csv

url = "https://api.nhle.com/stats/rest/team?isAggregate=false&reportType=basic&isGame=false&reportName=penaltykill" \
      "&sort=[{%22property%22:%22homePkPctg%22," \
      "%22direction%22:%22DESC%22}]&cayenneExp=leagueId=133%20and%20gameTypeId=2%20and%20seasonId%3E=20192020%20and" \
      "%20seasonId%3C=20192020 "

resp = requests.get(url).text
resp = json.loads(resp)

pprint(resp['data'])
我得到了所有31支球队的以下结果(我只是在这里与蒙特勒阿尔加拿大人一起展示):

{'gamesPlayed':23, “homeGamesPlayed”:12, “homePkPctg”:0.7352, “HomeppGoalsCountry”:9, 《家庭时报》:34, "损失":7,, “损失”:5, “pkPctg”:0.7361, "点":27,, “PPGoalsanth”:19, “道路游戏展开”:11, “roadPkPctg”:0.7368, “roadppgoalsanth”:10, “roadShNumTimes”:38, “季节ID”:20192020, “shGoalsFor”:1, “shNumTimes”:72, “teamAbbrev”:“MTL”, “teamFullName”:“Montréal-Canadiens”, “团队ID”:8, “关系”:0, “胜利”:11}

基本上,我只需要“homePkPctg”/“roadPkPctg”/“teamAbbrev”行

我真的觉得这对这里的大多数人来说都很简单,但我在这里被封锁了几个小时。我来了


提前谢谢

加载json时得到的是一个字典列表。因此,对于列表中的每一项,您都可以执行以下操作:

# lets say we call it team_data
team_data = resp['data']

# "entry" here is assumed to be a dictionary like the one you show
# for the Montréal Canadiens
for entry in team_data:
    print(entry['homePkPctg'])
    print(entry['roadPkPctg'])
    print(entry['teamAbbrev'])

您的“行”是字典键,可以如上所示进行访问。对于您的情况可能不完全正确,始终取决于json文件/数据

如果分别为每个团队运行fetch,则可以执行以下操作

team_data['homePkPctg']
team_data['roadPkPctg']
team_data['teamAbbrev']


相反。

因此,如果我没有弄错,我应该用team_data=resp['data']替换pprint(resp['data'])对于团队_数据中的条目:打印(条目['homePkPctg'])打印(条目['roadPkPctg'])打印(条目['teamAbbrev'])或者我只是在pprint(resp['data'])之前将其滑入?您需要/想要打印值吗?您还可以执行
resp['data']['teamAbbrev']
(例如)来访问字典键“teamAbbrev”的值。我猜您不需要for循环。最后,我只需要将这3个键发送到Excel工作表中。但目前,我想在Pycharm控制台中打印结果,以查看在将其发送到Excel文档之前得到的结果。我需要看到它产生了什么,才能更好地理解它。我的方法对你有帮助吗?我想,你必须一直尝试,直到你做对为止。它做到了!一切似乎都很顺利。。。thanx很多。。。。这仍然是一个正在进行的工作,所以机会是相当好的,我需要再次建议。。。。