这是我的代码:
import base64
import requests
import json
import csv
USERNAME, PASSWORD = 'Username', 'Password'
req = requests.get(
url="https://api.mysportsfeeds.com/v1.1/pull/nhl/2017-2018-regular/game_startinglineup.json?gameid=20171109-EDM-NJD",
params={
"fordate": "20171009"
},
headers={
"Authorization": "Basic " +
base64.b64encode('{}:{}'.format(USERNAME,PASSWORD)\
.encode('utf-8')).decode('ascii')
}
)
data = req.json()
for i in range(1):
team_home = data['gamestartinglineup']['teamLineup'][i]['expected']['starter']
for i in range(2):
team_away = data['gamestartinglineup']['teamLineup'][i]['expected']['starter']
#headers = ["HomeTeam", "AwayTeam"]
for i in range(18):
homeplayer = team_home[i]['position']
awayplayer = team_away[i]['position']
homename = team_home[i]['player']['LastName']
awayname = team_away[i]['player']['LastName']
my_data =[]
my_data.append([homeplayer, homename, awayplayer, awayname])
print(my_data)
以下是我的要求:
{"gamestartinglineup":{"lastUpdatedOn":"2017-12-12 11:56:50 PM","game":{"id":"41009","date":"2017-11-09","time":"7:00PM","awayTeam":{"ID":"24","City":"Edmonton","Name":"Oilers","Abbreviation":"EDM"},"homeTeam":{"ID":"7","City":"New Jersey","Name":"Devils","Abbreviation":"NJD"},"location":"Prudential Center"},"teamLineup":[{"team":{"ID":"24","City":"Edmonton","Name":"Oilers","Abbreviation":"EDM"},"expected":{"starter":[{"position":"Goalie-Backup","player":{"ID":"5552","LastName":"Brossoit","FirstName":"Laurent","JerseyNumber":"1","Position":"G"}},{"position":"ForwardLine1-RW","player":{"ID":"4854","LastName":"Maroon","FirstName":"Patrick","JerseyNumber":"19","Position":"LW"}},{"position":"ForwardLine2-C","player":{"ID":"4993","LastName":"Nugent-Hopkins","FirstName":"Ryan","JerseyNumber":"93","Position":"C"}},{"position":"ForwardLine4-C","player":{"ID":"4730","LastName":"Letestu","FirstName":"Mark","JerseyNumber":"55","Position":"C"}},{"position":"ForwardLine3-LW","player":{"ID":"11308","LastName":"Caggiula","FirstName":"Drake","JerseyNumber":"91","Position":"LW"}},{"position":"ForwardLine4-RW","player":{"ID":"5875","LastName":"Khaira","FirstName":"Jujhar","JerseyNumber":"16","Position":"LW"}},{"position":"ForwardLine3-C","player":{"ID":"3637","LastName":"Jokinen","FirstName":"Jussi","JerseyNumber":"36","Position":"LW"}},{"position":"ForwardLine3-RW","player":{"ID":"4997","LastName":"Strome","FirstName":"Ryan","JerseyNumber":"18","Position":"C"}},{"position":"ForwardLine1-C","player":{"ID":"5576","LastName":"McDavid","FirstName":"Connor","JerseyNumber":"97","Position":"C"}},{"position":"ForwardLine1-LW","player":{"ID":"5417","LastName":"Draisaitl","FirstName":"Leon","JerseyNumber":"29","Position":"C"}},{"position":"ForwardLine2-LW","player":
我的输出是:[['DefensePair1-R', 'Klefbom', 'DefensePair1-R', 'Severson']]
我创建了主场和客场的循环以及其中的球员。每个家庭和离开20。但它只返回18 ..我认为表达式是0-18不仅返回18所以脚本中必须有其他东西写得不好。
答案 0 :(得分:2)
for i in range(18):
homeplayer = team_home[i]['position']
awayplayer = team_away[i]['position']
homename = team_home[i]['player']['LastName']
awayname = team_away[i]['player']['LastName']
my_data =[] ## HERE!
my_data.append([homeplayer, homename, awayplayer, awayname])
print(my_data)
将其带出循环..
my_data =[] ## HERE!
for i in range(18):
homeplayer = team_home[i]['position']
awayplayer = team_away[i]['position']
homename = team_home[i]['player']['LastName']
awayname = team_away[i]['player']['LastName']
my_data.append([homeplayer, homename, awayplayer, awayname])
print(my_data)
编辑: 找到了另一个片段,可能是错误
for i in range(2):
team_away = data['gamestartinglineup']['teamLineup'][i]['expected']['starter']
在此代码段中,您将覆盖team_away。不确定你是否愿意