尝试从游戏中获取每个玩家的统计信息,但在尝试.get()方法时遇到了问题。在
这是API: https://statsapi.web.nhl.com/api/v1/game/2017020002/feed/live
我首先需要他们的身份证,第一个for循环的方法是找到('skaters'),抓取他们的身份证,然后把它放进去 在玩家名单上
接下来的两个for循环是获取主/客场以及player_ID中每个ID的球员统计信息。player ID的形式为number=>;8474756 但是获取玩家统计信息的键被命名为“ID”PLAYERS NUMBER“,所以每个键都有一个唯一的名称,这就是for循环存在的原因。但我不知道该怎么做。 谢谢你的帮助!在
import numpy as np
import pandas as pd
import requests
import json
from sklearn import preprocessing
from sklearn.preprocessing import OneHotEncoder
results = []
player_id = []
for game_id in range(2018020001, 2018020002, 1):
url = 'https://statsapi.web.nhl.com/api/v1/game/{}/feed/live'.format(game_id)
r = requests.get(url)
game_data = r.json()
for homeaway in ['home','away']:
player_dict = game_data.get('liveData').get('boxscore').get('teams').get(homeaway).get('skaters')
player_id.append(player_dict)
for homeaway in ['home', 'away']:
for playerID in player_id:
play_dict = game_data.get('liveData').get('boxscore').get('teams')
.get('homeaway').get('players').get('ID'+player_id).get('person')
这里是我要抓取游戏数据的代码,我想有同样的输出类型,就像这样给我。在
^{pr2}$下面是一个示例表,显示了我希望数据集的外观
PlayerID Team Won/lost opponent game_id metric1 metric2 metric_n
1 LA 1 CAP 0001 10 10 10
您的
player_id
是列表列表,因此当您for playerID in player_id:
时,您实际上会遍历子列表,而不是玩家ID。。尝试修改代码:现在}
^{pr2}$player_id
是一个字典,就像{'home': [ID_1, ID_2,...],
离开{相关问题 更多 >
编程相关推荐