Get game logs for each team
In [1]:
import goldsberry
import os
import pandas as pd
import csv
from goldsberry.team import *
pd.set_option("display.max_columns",150) # Change Pandas Display Options
goldsberry.__version__
Out[1]:
In [2]:
def ensure_dir(f):
d = os.path.dirname(f)
if not os.path.exists(d):
os.makedirs(d)
In [3]:
def write_csv(team_stats, season):
if (len(team_stats.logs()) < 1):
return
team_id = team_stats.logs()[0]['Team_ID']
folder_name = os.path.join(os.getcwd(), season + '_team_stats')
complete_name = os.path.join(folder_name, str(season) + '_' + str(team_id) + '.csv')
print complete_name
ensure_dir(complete_name)
with open(complete_name, 'w') as csvfile:
fieldnames = ['AST','BLK','DREB','FG3A','FG3M','FG3_PCT','FGA','FGM','FG_PCT','FTA',
'FTM','FT_PCT','GAME_DATE','Game_ID','MATCHUP','MIN','OREB','PF',
'PTS','REB','STL','TOV','Team_ID','WL']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for team_row in team_stats.logs():
writer.writerow({
'AST': team_row['AST'],
'BLK': team_row['BLK'],
'DREB': team_row['DREB'],
'FG3A': team_row['FG3A'],
'FG3M': team_row['FG3M'],
'FG3_PCT': team_row['FG3_PCT'],
'FGA': team_row['FGA'],
'FGM': team_row['FGM'],
'FG_PCT': team_row['FG_PCT'],
'FTA': team_row['FTA'],
'FTM': team_row['FTM'],
'FT_PCT': team_row['FT_PCT'],
'GAME_DATE': team_row['GAME_DATE'],
'Game_ID': team_row['Game_ID'],
'MATCHUP': team_row['MATCHUP'],
'MIN': team_row['MIN'],
'OREB': team_row['OREB'],
'PF': team_row['PF'],
'PTS': team_row['PTS'],
'REB': team_row['REB'],
'STL': team_row['STL'],
'TOV': team_row['TOV'],
'Team_ID': team_row['Team_ID'],
'WL': team_row['WL']})
print "Done."
In [6]:
## get all team ids
gameids = pd.DataFrame(goldsberry.GameIDs().game_list())
filter_season = '22015'
teamids_2015 = gameids['TEAM_ID'].ix[gameids['SEASON_ID']==filter_season].drop_duplicates().tolist()
## for each team, get the game logs and write in a csv -- in the given folder
for team in teamids_2015:
team_stats = goldsberry.team._Team2.game_logs(team)
write_csv(team_stats, filter_season)