1+ import config
2+ import requests
3+ import json
4+ from datetime import date , timedelta
5+ from tabulate import tabulate
6+
7+ #finding player's name when player's ID is given, dataPlayersLeague is a list of all players
8+ def findPlayerName (dataPlayersLeague , playerId ):
9+ for each in dataPlayersLeague :
10+ if each ["personId" ] == playerId :
11+ return each ["firstName" ] + " " + each ["lastName" ]
12+
13+ def requestApi (url ):
14+ req = requests .get (url )
15+ return req .json ()
16+
17+ def playerDataList (dataPlayersLeague , playerId ):
18+ playerData = requestApi ("http://data.nba.net/prod/v1/2018/players/" + str (playerId ) + "_profile.json" )
19+ playerCurrentData = playerData ["league" ]["standard" ]["stats" ]["latest" ]
20+ playerRequiredData = []
21+ playerRequiredData .append (findPlayerName (dataPlayersLeague , playerId ))
22+ playerRequiredData .append (playerCurrentData ["ppg" ])
23+ playerRequiredData .append (playerCurrentData ["rpg" ])
24+ playerRequiredData .append (playerCurrentData ["apg" ])
25+ playerRequiredData .append (playerCurrentData ["spg" ])
26+ playerRequiredData .append (playerCurrentData ["bpg" ])
27+ return playerRequiredData
28+
29+ #getting informations of players through API since the boxscore API lacks name of players
30+ dataPlayers = requestApi ("http://data.nba.net/prod/v1/2018/players.json" )
31+ dataPlayersLeague = dataPlayers ["league" ]["standard" ] + dataPlayers ["league" ]["africa" ] + dataPlayers ["league" ]["sacramento" ] + dataPlayers ["league" ]["vegas" ] + dataPlayers ["league" ]["utah" ]
32+
33+ teamData = requestApi ("http://data.nba.net/prod/v1/2018/teams/1610612759/roster.json" )
34+ teamPlayers = teamData ["league" ]["standard" ]["players" ]
35+ header = ["PLAYER" , "PTS" , "REB" , "AST" , "STL" , "BLK" ]
36+ tabulateData = []
37+
38+ for each in teamPlayers :
39+ tabulateData .append (playerDataList (dataPlayersLeague , each ["personId" ]))
40+
41+ print (tabulate ((tabulateData ), header , tablefmt = "grid" ))
0 commit comments