Example #1
0
def get_lineup_info():
    schedule = get_schedule()
    r_dict = {}
    days = []
    for game in schedule:
        date = game['game_date']
        if game['away_id'] == 134 and game['status'] != 'Postponed':
            box = statsapi.boxscore_data(game['game_id'])['awayBatters'][1:]
            r_dict = roster(date, r_dict)
            r_dict = lineup(box, r_dict, date)
        elif game['home_id'] == 134 and game['status'] != 'Postponed':
            box = statsapi.boxscore_data(game['game_id'])['homeBatters'][1:]
            r_dict = roster(date, r_dict)
            r_dict = lineup(box, r_dict, date)
    return r_dict
Example #2
0
def pitching_everything2019():
    sched = statsapi.schedule(start_date='03/28/2019',
                              end_date='09/29/2019',
                              team=137)
    for i in range(len(sched)):
        gameId = sched[i]["game_id"]
        game_date = sched[i]["game_date"]
        scoredata = statsapi.boxscore_data(gameId)
        if sched[i]["game_type"] == "R":
            if game_date != '2019-05-08':
                for ID in scoredata['playerInfo']:
                    if sched[i]['home_name'] == "San Francisco Giants":
                        if ID in scoredata['home']['players']:
                            if scoredata['home']['players'][ID]['stats'][
                                    'pitching'] != {}:
                                if scoredata['home']['players'][ID][
                                        'position']['abbreviation'] == 'P':
                                    h_add(game_date, scoredata, ID)
                    else:
                        if ID in scoredata['away']['players']:
                            if scoredata['away']['players'][ID]['stats'][
                                    'pitching'] != {}:
                                if scoredata['away']['players'][ID][
                                        'position']['abbreviation'] == 'P':
                                    a_add(game_date, scoredata, ID)
Example #3
0
def getMerrifieldHitsByGameId(gameId):
    boxData = statsapi.boxscore_data(gameId)

    sides = ["away", "home"]
    batters = []
    for i in range(0, len(sides)):
        side = sides[i]
        for batterId_int in [
            x
            for x in boxData[side]["batters"]
            if boxData[side]["players"].get("ID" + str(x), {}).get("battingOrder")
        ]:

            batterId = str(batterId_int)

            batter = {
                "h": str(
                    boxData[side]["players"]["ID" + batterId]["stats"]["batting"][
                        "hits"
                    ]
                ),
                'batterId': batterId
            }

            batters.append(batter)
    
    return batters['batterId' == merrifieldPlayerId]['h']
Example #4
0
 def getGameInfo(teamID):
     nextGameData = sa.boxscore_data(sa.next_game(teamID))['teamInfo']
     nextGameDate = sa.schedule(game_id = sa.next_game(teamID))[0]['game_date']
     if (nextGameData['away']['id'] != teamID):
         return [nextGameData['away']['teamName'], nextGameDate]
     else:
         return [nextGameData['home']['teamName'], nextGameDate]
def exhibition_hitting():
    sched = statsapi.schedule(start_date='07/20/2020',
                              end_date='07/21/2020',
                              team=137)
    print(sched)
    for i in range(len(sched)):
        gameId = sched[i]["game_id"]
        game_date = sched[i]["game_date"]
        scoredata = statsapi.boxscore_data(gameId)
        if sched[i]['status'] == "Final: Tied":
            print("Final: Tied on", game_date)
        if sched[i]["game_type"] == "S":
            if sched[i]['status'] == "Final" or sched[i][
                    'status'] == "Game Over" or sched[i][
                        'status'] == "Final: Tied":
                for ID in scoredata['playerInfo']:
                    if sched[i]['home_name'] == "San Francisco Giants":
                        if ID in scoredata['home']['players']:
                            if scoredata['home']['players'][ID]['stats'][
                                    'batting'] != {}:
                                h_add(game_date, scoredata, ID)
                    else:
                        if ID in scoredata['away']['players']:
                            if scoredata['away']['players'][ID]['stats'][
                                    'batting'] != {}:
                                a_add(game_date, scoredata, ID)
Example #6
0
def everything():
    year = '2021'
    today = datetime.date.today()
    yesterday = today - datetime.timedelta(days=2)
    tomorrow = today + datetime.timedelta(days=1)
    sched = statsapi.schedule(start_date=yesterday, end_date=tomorrow)
    for game in sched:
        gameId = game["game_id"]
        boxscore = statsapi.boxscore_data(gameId)
        gameDate = game["game_date"]
        if game['doubleheader'] != 'N':
            gameDate = game["game_date"] + "(" + str(
                game["game_num"]
            ) + ")"  #adds number to the back of the game date if the game is a part of a doubleheader

        homeId = game["home_id"]
        awayId = game["away_id"]
        homeAbbrev = statsapi.get(
            'team', {'teamId': homeId})['teams'][0]['abbreviation']
        awayAbbrev = statsapi.get(
            'team', {'teamId': awayId})['teams'][0]['abbreviation']

        if game['game_type'] == "R":
            createDir(homeAbbrev, year)  #if needed
            createDir(awayAbbrev, year)  #if needed

            hit(homeAbbrev, awayAbbrev, year, gameDate, game, boxscore)
            pitch(homeAbbrev, awayAbbrev, year, gameDate, game, boxscore)
        else:
            print(game['game_type'])
Example #7
0
def getGame():
    sched = statsapi.schedule(start_date='07/01/2018',
                              end_date='07/31/2018',
                              team=143,
                              opponent=121)
    gameId = sched[0]["game_id"]
    scoredata = statsapi.boxscore_data(gameId)
    return scoredata
def hitting_everything2020():
    today = datetime.date.today()
    yesterday = today - datetime.timedelta(days=2)
    tomorrow = today + datetime.timedelta(days=1)
    team = 137
    info = statsapi.get('team', {'teamId': team})
    name = info['teams'][0]['name']
    abbrev = info['teams'][0]['abbreviation']
    sched = statsapi.schedule(start_date='07/23/2020',
                              end_date='9/27/2020',
                              team=team)
    for i in range(len(sched)):
        gameId = sched[i]["game_id"]
        scoredata = statsapi.boxscore_data(gameId)
        game_date = sched[i]["game_date"]
        if sched[i]['doubleheader'] == 'Y':
            game_date = sched[i]["game_date"] + "(" + str(
                sched[i]["game_num"]) + ")"
        if path.exists("Teams/" + abbrev + "/2020/h_dates.txt"):
            with open("Teams/" + abbrev + "/2020/h_dates.txt", "r") as FILE:
                content = FILE.read()
                try:
                    content_dict = eval(content)
                except Exception as e:
                    print("we got an error ", e)
                    print("Database Error ")
        else:
            with open("Teams/" + abbrev + "/2020/h_dates.txt", "w") as FILE:
                FILE.write("{'dates':[]}")
            with open("Teams/" + abbrev + "/2020/h_dates.txt", "r") as FILE:
                content = FILE.read()
                try:
                    content_dict = eval(content)
                except Exception as e:
                    print("we got an error ", e)
                    print("Database Error ")
        if game_date not in content_dict['dates'] and (
                sched[i]['status'] == "Final"
                or sched[i]['status'] == "Game Over"):
            if sched[i]["game_type"] == "R":
                for ID in scoredata['playerInfo']:
                    if sched[i]['home_name'] == name:
                        if ID in scoredata['home']['players']:
                            if scoredata['home']['players'][ID]['stats'][
                                    'batting'] != {}:
                                h_add(game_date, scoredata, ID, abbrev)
                    else:
                        if ID in scoredata['away']['players']:
                            if scoredata['away']['players'][ID]['stats'][
                                    'batting'] != {}:
                                a_add(game_date, scoredata, ID, abbrev)
                with open("Teams/" + abbrev + "/2020/h_dates.txt", "w") as f:
                    try:
                        content_dict['dates'].append(game_date)
                        f.write(str(content_dict))
                    except Exception as e:
                        print("we got an error ", e)
                        print("Database Error ")
Example #9
0
    def handle(self, *args, **options):

        BoxScore.objects.all().delete()
        games = Game.objects.all()

        for game in games:
            try:
                home_stats = statsapi.boxscore_data(gamePk=game.game_id)['home']
                away_stats = statsapi.boxscore_data(gamePk=game.game_id)['away']

                home_batting_totals = home_stats['teamStats']['batting']
                away_batting_totals = away_stats['teamStats']['batting']

                home_pitching_totals = home_stats['teamStats']['pitching']
                away_pitching_totals = away_stats['teamStats']['pitching']
                
                home_pitchers = home_stats['pitchers']
                away_pitchers = away_stats['pitchers']

                home_hitters = home_stats['batters']
                away_hitters = away_stats['batters']

                home_player_pitching = {}
                for p_id in home_pitchers:
                    home_player_pitching.update({p_id: home_stats['players']['ID' + str(p_id)]})

                away_player_pitching = {}
                for p_id in away_pitchers:
                    away_player_pitching.update({p_id: away_stats['players']['ID' + str(p_id)]})

                home_player_hitting = {}
                for p_id in home_hitters:
                    home_player_hitting.update({p_id: home_stats['players']['ID' + str(p_id)]})

                away_player_hitting = {}
                for p_id in away_hitters:
                    away_player_hitting.update({p_id: away_stats['players']['ID' + str(p_id)]})

                boxscore = BoxScore(game=game, boxscore_id=game.game_id, home_hitting_totals=home_batting_totals, away_hitting_totals=away_batting_totals, home_pitching_totals=home_pitching_totals, away_pitching_totals=away_pitching_totals, 
                                    home_player_hitting=home_player_hitting, away_player_hitting=away_player_hitting, home_player_pitching=home_player_pitching, away_player_pitching=away_player_pitching)                
                boxscore.save()
                print("Success")
            except:
                print("failed")
Example #10
0
def get_csv_schedule():
    schedule = get_schedule()

    games = {}
    test = schedule[11]
    a = statsapi.boxscore_data(test['game_id'])['awayBatters'][1:]
    for batter in a:
        if not batter['substitution']:
            print("{}\t{}\t{}".format(int(batter['battingOrder'])/100, batter['position'], batter['name']))
    games_to_csv(games)
Example #11
0
def check_home_or_away(game_id: int, team_id: int):
    try:
        away_team_id = statsapi.boxscore_data(game_id).get("away").get(
            "team").get("id")
        if away_team_id == team_id:
            return "away"
        else:
            return "home"
    except requests.exceptions.HTTPError:
        return None
Example #12
0
def box_score():
    startdate = '02/28/2021'
    enddate = '10/01/2021'
    now = datetime.datetime.now()
    bs = statsapi.boxscore_data(605799, timecode=now)
    print(bs)
    for key in bs.keys():
        print(key)
        if type(bs[key]) is dict:
            for k in bs[key].keys():
                print('\t', k)
    print(bs['home']['battingOrder'])
Example #13
0
 def boxscores(self):
     schedule = statsapi.schedule(start_date=convert_date(self.date))
     gamePks = [s["game_id"] for s in schedule]
     for gamePk in gamePks:
         game_json = statsapi.boxscore_data(gamePk)
         player_teams = self._player_metadata(gamePk=gamePk)
         for p in ["Batters", "Pitchers"]:
             self._stack_results(
                 player_type=p,
                 game_json=game_json,
                 gamePk=gamePk,
                 player_teams=player_teams,
             )
Example #14
0
def getplayerid():

    lastname = input("Player Last Name: ")

    sched = statsapi.schedule(start_date='02/22/2020',
                              end_date='03/11/2020',
                              team=137)
    for i in range(len(sched)):
        gameId = sched[i]["game_id"]
        scoredata = statsapi.boxscore_data(gameId)
        length_b_home = len(scoredata['homeBatters'])
        length_b_away = len(scoredata['awayBatters'])
        length_p_home = len(scoredata['homePitchers'])
        length_p_away = len(scoredata['awayPitchers'])
        if sched[i]['home_name'] == 'San Francisco Giants':
            for i in range(1, length_p_home):
                pitcher_name = scoredata['homePitchers'][i]['name']
                player_id = 'ID' + str(
                    scoredata['homePitchers'][i]['personId'])
                fullname = scoredata['playerInfo'][player_id]['fullName']
                if lastname == pitcher_name:
                    print(str(pitcher_name), ": " + str(player_id))
                    to_txtp(fullname, player_id)
                    input()
            for i in range(1, length_b_home):
                batter_name = scoredata['homeBatters'][i]['name']
                player_id = 'ID' + str(scoredata['homeBatters'][i]['personId'])
                fullname = scoredata['playerInfo'][player_id]['fullName']
                if lastname == batter_name:
                    print(str(batter_name), ": " + str(player_id))
                    to_txtb(fullname, player_id)
                    input()
        else:
            for i in range(1, length_p_away):
                pitcher_name = scoredata['awayPitchers'][i]['name']
                player_id = 'ID' + str(
                    scoredata['awayPitchers'][i]['personId'])
                fullname = scoredata['playerInfo'][player_id]['fullName']
                if lastname == pitcher_name:
                    print(str(pitcher_name), ": " + str(player_id))
                    to_txtp(fullname, player_id)
                    input()
            for i in range(1, length_b_away):
                batter_name = scoredata['awayBatters'][i]['name']
                player_id = 'ID' + str(scoredata['awayBatters'][i]['personId'])
                fullname = scoredata['playerInfo'][player_id]['fullName']
                if lastname == batter_name:
                    print(str(batter_name), ": " + str(player_id))
                    to_txtb(fullname, player_id)
                    input()
Example #15
0
def box_scores():
    """ Use MLB Stats API to extract daily MLB box scores for use in Live Game Watchability Index calculation

    Returns:
        {Date: {Home-Away First Code: (Home Score, Away Score), ..., Home-Away Last Code: (Home Score, Away Score)}}
    """
    # Create dynamic variable to get yesterday's box scores
    yesterday = (datetime.datetime.today() -
                 timedelta(days=1)).strftime('%Y-%m-%d')
    schedule = statsapi.schedule(yesterday)

    # Retrieve values from schedule dictionary
    game_info = [list(schedule[i].values()) for i in range(len(schedule))]

    # Extract game codes from schedule dictionary values
    game_codes = [game_info[i][0] for i in range(len(game_info))]

    # Use game codes to retrieve all info for correct games
    home_away = []
    for i in range(len(game_codes)):
        home_away.append(statsapi.boxscore_data(game_codes[i]))

    # Use game codes to retrieve box scores for correct games
    boxes = []
    for i in range(len(game_codes)):
        home_box = (statsapi.linescore(game_codes[i]).splitlines()[2])
        away_box = (statsapi.linescore(game_codes[i]).splitlines()[1])
        boxes.extend([home_box, away_box])

    # Create dictionary with Home-Away concatenation as key and scores as values
    box_score = {}
    for i in range(len(home_away)):
        home_away_codes = (list(home_away[i]['teamInfo']['home'].values())[1] +
                           list(home_away[i]['teamInfo']['away'].values())[1])
        box_score.update({home_away_codes: (boxes[i * 2], boxes[(i * 2) + 1])})

    # Create main dictionary with date as key and box score dictionary as value
    score_dict = {yesterday: box_score}

    return score_dict
Example #16
0
def avgobp():
    """Print out averages and on base percentage for players that showed up in the box scores of the games played within the start and end date specified in sched"""
    sched = statsapi.schedule(start_date='09/01/2019', team=137)
    for i in range(len(sched)):
        gameId = sched[i]["game_id"]
        game_date = sched[i]["game_date"]
        game_result = sched[i]["summary"]
        scoredata = statsapi.boxscore_data(gameId)
        length_home = len(scoredata['homeBatters'])
        length_away = len(scoredata['awayBatters'])
        title = game_result, "/", gameId
        title_length = len(str(title)) - 8

        #check if regular season
        if sched[i]["game_type"] == "R":
            print("")
            print((title_length) * "=")
            print(game_result, "/", gameId)
            print((title_length) * "=")
            print("")
            if sched[i]['home_name'] == "San Francisco Giants":
                for i in range(1, length_home):
                    average = (scoredata['homeBatters'][i]['avg'])
                    on_base_percentage = (scoredata['homeBatters'][i]['obp'])
                    player_name = (scoredata['homeBatters'][i]['name'])
                    print(player_name + ":", "AVG -", average, "/", "OBP -",
                          on_base_percentage)
            else:
                for i in range(1, length_away):
                    average = (scoredata['awayBatters'][i]['avg'])
                    on_base_percentage = (scoredata['awayBatters'][i]['obp'])
                    player_name = (scoredata['awayBatters'][i]['name'])
                    print(player_name + ":", "AVG -", average, "/", "OBP -",
                          on_base_percentage)
    print("")
    print((title_length) * "=")
def mlb_data_last_game(preferred_team):
    last_game_date = datetime.datetime.today() - timedelta(days=1)
    game_data_set = {}

    # Read scoreboard options from config.json if it exists
    #config = get_config("config")

    #teamData = statsapi.lookup_team(config['preferred']['teams'][0])
    for team in statsapi.lookup_team(preferred_team):

        last_game_date = last_game_date.strftime('%m/%d/%Y')
        last_gameData = statsapi.schedule(date=last_game_date,
                                          start_date=None,
                                          end_date=None,
                                          team=team['id'],
                                          opponent="",
                                          sportId=1,
                                          game_id=None)

        if len(last_gameData) > 0:
            last_boxscore = statsapi.boxscore_data(last_gameData[0]['game_id'],
                                                   timecode=None)

            game_data_set['home_id'] = last_gameData[0]['home_id']
            game_data_set['away_id'] = last_gameData[0]['away_id']
            game_data_set['status'] = last_gameData[0]['status']
            game_data_set['home_score'] = last_gameData[0]['home_score']
            game_data_set['home_hits'] = last_boxscore['home']['teamStats'][
                'batting']['hits']
            game_data_set['away_score'] = last_gameData[0]['away_score']
            game_data_set['away_hits'] = last_boxscore['away']['teamStats'][
                'batting']['hits']

        break

    return game_data_set
Example #18
0
def box_upload(game_id):
    game = mlb.boxscore_data(game_id)
    game_dict = {
        'gameid': game_id,
        'home_team_runs': game['homeBattingTotals']['r'],
        'away_team_runs': game['awayBattingTotals']['r'],
    }

    for item in game['gameBoxInfo']:
        if item['label'] == 'Venue':
            game_dict['venue'] = (item['value'])
        elif item['label'] == 'Weather':
            game_dict['weather_category'] = item['value'].split(
                ',')[1].lower().strip().strip('.')
            game_dict['temp'] = int(item['value'].split(',')[0].split(' ')[0])
        elif item['label'] == 'Wind':
            game_dict['wind_mph'] = int(
                item['value'].split(',')[0].split(' ')[0])
            game_dict['wind_direction'] = item['value'].split(
                ',')[1].lower().strip().strip('.')
        else:
            pass

    return game_dict
Example #19
0
import statsapi

TWINS_TEAM_ID = 142

yesterday = (datetime.datetime.now(pytz.timezone("US/Central")) -
             datetime.timedelta(days=1)).date()

game_ids = [
    game['game_id']
    for game in statsapi.schedule(date=yesterday, team=TWINS_TEAM_ID)
]

# did the twins get any doubles?
DOUBLE = False
for game_id in game_ids:
    boxscore = statsapi.boxscore_data(game_id)

    if boxscore['teamInfo']['away']['id'] == TWINS_TEAM_ID:
        home_or_away = 'away'
    elif boxscore['teamInfo']['home']['id'] == TWINS_TEAM_ID:
        home_or_away = 'home'
    else:
        raise ValueError("Cannot Find TWINs for this game")

    doubles = boxscore[home_or_away]['teamStats']['batting']['doubles']

    if doubles > 0:
        DOUBLE = True
        break

if DOUBLE:
Example #20
0
    def _getPlayerStatsForGame(self, gameId):
        box_data = statsapi.boxscore_data(gameId)

        box_name_to_id = {}
        for v in box_data['playerInfo'].values():
            box_name_to_id[v['boxscoreName']] = v['id']
            self.data.playerIdToName[v['id']] = v['fullName']
            self.data.playerNameToId[v['fullName']] = v['id']

        game_info = {
            v['label']: v.get('value')
            for v in box_data['gameBoxInfo']
        }

        raw_home_info = []
        raw_away_info = []
        for field in box_data['home']['info']:
            if field.get('title', None) == 'BATTING':
                raw_home_info = field['fieldList']

        for field in box_data['away']['info']:
            if field.get('title', None) == 'BATTING':
                raw_home_info = field['fieldList']

        home_info = {v['label']: v.get('value') for v in raw_home_info}
        away_info = {v['label']: v.get('value') for v in raw_away_info}

        additional_batter_data = makehash()

        keys = game_info.keys()

        def parseFromInfo(key, info):
            if key in info:
                players = info[key].split(';')
                for player in players:
                    res = re.search(r'(\D+) (\d )*(\(.*\))', player)
                    group = res.groups()
                    additional_batter_data[box_name_to_id[group[0].strip(
                    )]][key] = int(group[1].strip()) if group[1] else 1

        parseFromInfo(u'HBP', game_info)
        parseFromInfo(u'HR', home_info)
        parseFromInfo(u'2B', home_info)
        parseFromInfo(u'3B', home_info)
        parseFromInfo(u'SB', home_info)
        parseFromInfo(u'HR', away_info)
        parseFromInfo(u'2B', away_info)
        parseFromInfo(u'3B', away_info)
        parseFromInfo(u'SB', away_info)

        for batter_data in box_data['awayBatters'] + box_data['homeBatters']:
            pid = batter_data['personId']
            if not pid:
                continue
            batter_model = BattingData(batter_data)

            # Parse out HRs, SBs, doubles, triples, hrs
            additional_data = additional_batter_data[pid]
            batter_model.hr = additional_data['HR'] or 0
            batter_model.dbl = additional_data['2B'] or 0
            batter_model.trpl = additional_data['3B'] or 0
            batter_model.sb = additional_data['SB'] or 0
            batter_model.hbp = additional_data['HBP'] or 0

            if not pid in self.data.playerGameData:
                self.data.playerGameData[pid] = {'batting': {}, 'pitching': {}}
            self.data.playerGameData[pid]['batting'][gameId] = batter_model

        for pitcher_data in box_data['awayPitchers'] + box_data['homePitchers']:
            res = re.search('([^\(]+)(\((\w).*)*',
                            pitcher_data['namefield']).groups()

            name = res[0].strip()
            if not name in box_name_to_id:
                continue

            pitcherId = box_name_to_id[name]
            pitcher_model = PitcherData(pitcher_data)
            pitcher_model.w = 1 if res[2] == 'W' else 0
            if not pitcherId in self.data.playerGameData:
                self.data.playerGameData[pitcherId] = {
                    'batting': {},
                    'pitching': {}
                }
            self.data.playerGameData[pitcherId]['pitching'][
                gameId] = pitcher_model
Example #21
0
import statsapi

# Change start_date and end_date to get the games you want
games = statsapi.schedule(start_date='04/01/2021', end_date='04/01/2021')
for game in games:
    box = statsapi.boxscore_data(game.get('game_id'), timecode=None)
    game['home_batters'] = box.get('homeBatters')
    game['away_batters'] = box.get('awayBatters')
    for x in game['home_batters']:
        if x['personId'] != '0' and x['ab'] != 'AB':
            if int(x['ab']) == 0:
                x['game_ba'] = 'N/A'
            else:
                x['game_ba'] = str(round(int(x['h']) / int(x['ab']), 3))
    for x in game['away_batters']:
        if x['personId'] != '0' and x['ab'] != 'AB':
            if int(x['ab']) == 0:
                x['game_ba'] = 'N/A'
            else:
                x['game_ba'] = str(round(int(x['h']) / int(x['ab']), 3))

    #
    # d_home = box.get('homeBatters')
    # print(d_home)
    # temp = list()
    # for x in d_home:
    #     if x.get('ab').isnumeric():
    #         if 0 < int(x.get('ab')) < 9:
    #             temp.append([d_home[0].get('name').replace(' Batters', ''), 'home', x.get('personId'), x.get('name'), x.get('battingOrder'), x.get('ab'), x.get('h')])
    # print(temp)
    # d_away = box.get('awayBatters')
Example #22
0
def hitting(search_player):

    dates = []
    averages = []
    on_base_percentage = []
    slugging = []
    on_plus_slugging = []
    at_bats = []
    strikeouts = []
    hits = []
    walks = []
    runs = []
    runs_batted_in = []
    stolen_bases = []
    left_on_base = []
    doubles = []
    triples = []
    homers = []

    sched = statsapi.schedule(start_date='03/28/2019',
                              end_date='09/29/2019',
                              team=137)
    for i in range(len(sched)):
        gameId = sched[i]["game_id"]
        game_date = sched[i]["game_date"]
        game_result = sched[i]["summary"]
        scoredata = statsapi.boxscore_data(gameId)
        length_home = len(scoredata['homeBatters'])
        length_away = len(scoredata['awayBatters'])
        if sched[i]["game_type"] == "R":
            #all home games
            if sched[i]['home_name'] == "San Francisco Giants":
                for i in range(1, length_home):
                    player_name = (scoredata['homeBatters'][i]['name'])
                    avg = (scoredata['homeBatters'][i]['avg'])
                    obp = (scoredata['homeBatters'][i]['obp'])
                    ops = scoredata['homeBatters'][i]['ops']
                    slg = scoredata['homeBatters'][i]['slg']
                    k = scoredata['homeBatters'][i]['k']
                    ab = scoredata['homeBatters'][i]['ab']
                    h = scoredata['homeBatters'][i]['h']
                    bb = scoredata['homeBatters'][i]['bb']
                    r = scoredata['homeBatters'][i]["r"]
                    rbi = scoredata['homeBatters'][i]["rbi"]
                    sb = scoredata['homeBatters'][i]['sb']
                    lob = scoredata['homeBatters'][i]['lob']
                    double = scoredata['homeBatters'][i]['doubles']
                    triple = scoredata['homeBatters'][i]['triples']
                    hr = scoredata['homeBatters'][i]['hr']
                    if player_name == search_player:
                        dates.append(game_date)
                        averages.append(float(avg))
                        on_base_percentage.append(float(obp))
                        slugging.append(float(slg))
                        strikeouts.append(float(k))
                        at_bats.append(int(ab))
                        hits.append(int(h))
                        walks.append(int(bb))
                        runs.append(int(r))
                        runs_batted_in.append(int(rbi))
                        stolen_bases.append(int(sb))
                        left_on_base.append(int(lob))
                        doubles.append(int(double))
                        triples.append(int(triple))
                        homers.append(int(hr))

            #all_away games
            else:
                for i in range(1, length_away):
                    player_name = (scoredata['awayBatters'][i]['name'])
                    avg = (scoredata['awayBatters'][i]['avg'])
                    obp = (scoredata['awayBatters'][i]['obp'])
                    ops = scoredata['awayBatters'][i]['ops']
                    slg = scoredata['awayBatters'][i]['slg']
                    k = scoredata['awayBatters'][i]['k']
                    ab = scoredata['awayBatters'][i]['ab']
                    h = scoredata['awayBatters'][i]['h']
                    bb = scoredata['awayBatters'][i]['bb']
                    r = scoredata['awayBatters'][i]["r"]
                    rbi = scoredata['awayBatters'][i]["rbi"]
                    sb = scoredata['awayBatters'][i]['sb']
                    lob = scoredata['awayBatters'][i]['lob']
                    lob = scoredata['awayBatters'][i]['lob']
                    double = scoredata['awayBatters'][i]['doubles']
                    triple = scoredata['awayBatters'][i]['triples']
                    hr = scoredata['awayBatters'][i]['hr']
                    if player_name == search_player:
                        dates.append(game_date)
                        averages.append(float(avg))
                        on_base_percentage.append(float(obp))
                        slugging.append(float(slg))
                        strikeouts.append(float(k))
                        at_bats.append(int(ab))
                        hits.append(int(h))
                        walks.append(int(bb))
                        runs.append(int(r))
                        runs_batted_in.append(int(rbi))
                        stolen_bases.append(int(sb))
                        left_on_base.append(int(lob))
                        doubles.append(int(double))
                        triples.append(int(triple))
                        homers.append(int(hr))
    return dates, on_base_percentage
Example #23
0
def hitting_everything2019():

    players = [
        'Alex Dickerson', 'Aramis Garcia', 'Austin Slater', 'Brandon Belt',
        'Brandon Crawford', 'Buster Posey', 'Chris Shaw', 'Donovan Solano',
        'Evan Longoria', 'Hunter Pence', 'Jaylin Davis', 'Joey Rickard',
        'Mauricio Dubon', 'Mike Yastrzemski', 'Pablo Sandoval', 'Wilmer Flores'
    ]

    for i in range(len(players)):
        playername = players[i]

        with open("2019/" + str(playername) + ".txt", "r") as FILE:
            content = FILE.read()
            try:
                content_dict = eval(content)
            except Exception as e:
                print("we got an error ", e)
                print("Database Error ")
            else:
                print("read success for", playername)
            ID = content_dict[playername]["ID"]

        #progressive
        sched = statsapi.schedule(start_date='03/28/2019',
                                  end_date='09/29/2019',
                                  team=137)
        for i in range(len(sched)):
            gameId = sched[i]["game_id"]
            game_date = sched[i]["game_date"]
            scoredata = statsapi.boxscore_data(gameId)
            if sched[i]["game_type"] == "R":
                if game_date != '2019-05-08':
                    if sched[i]['home_name'] == "San Francisco Giants":
                        if ID in scoredata['home']['players']:
                            if scoredata['home']['players'][ID]['stats'][
                                    'batting'] != {}:
                                #progressive
                                p_averages = float(
                                    scoredata['home']['players'][ID]
                                    ['seasonStats']['batting']['avg'])
                                p_obp = float(
                                    scoredata['home']['players'][ID]
                                    ['seasonStats']['batting']['obp'])
                                p_slg = float(
                                    scoredata['home']['players'][ID]
                                    ['seasonStats']['batting']['slg'])
                                p_ops = float(
                                    scoredata['home']['players'][ID]
                                    ['seasonStats']['batting']['ops'])
                                p_runs = int(
                                    scoredata['home']['players'][ID]
                                    ['seasonStats']['batting']['runs'])
                                p_doubles = int(
                                    scoredata['home']['players'][ID]
                                    ['seasonStats']['batting']['doubles'])
                                p_triples = int(
                                    scoredata['home']['players'][ID]
                                    ['seasonStats']['batting']['triples'])
                                p_homeruns = int(
                                    scoredata['home']['players'][ID]
                                    ['seasonStats']['batting']['homeRuns'])
                                p_strikeouts = int(
                                    scoredata['home']['players'][ID]
                                    ['seasonStats']['batting']['strikeOuts'])
                                p_walks = int(
                                    scoredata['home']['players'][ID]
                                    ['seasonStats']['batting']['baseOnBalls'])
                                p_hits = int(
                                    scoredata['home']['players'][ID]
                                    ['seasonStats']['batting']['hits'])
                                p_ab = int(
                                    scoredata['home']['players'][ID]
                                    ['seasonStats']['batting']['atBats'])
                                p_sb = int(
                                    scoredata['home']['players'][ID]
                                    ['seasonStats']['batting']['stolenBases'])
                                p_rbi = int(scoredata['home']['players'][ID]
                                            ['seasonStats']['batting']['rbi'])
                                p_lob = int(
                                    scoredata['home']['players'][ID]
                                    ['seasonStats']['batting']['leftOnBase'])
                                #per game
                                pg_ab = int(scoredata['home']['players'][ID]
                                            ['stats']['batting']['atBats'])
                                pg_strikeouts = int(
                                    scoredata['home']['players'][ID]['stats']
                                    ['batting']['strikeOuts'])
                                pg_hits = int(scoredata['home']['players'][ID]
                                              ['stats']['batting']['hits'])
                                pg_walks = int(
                                    scoredata['home']['players'][ID]['stats']
                                    ['batting']['baseOnBalls'])
                                pg_runs = int(scoredata['home']['players'][ID]
                                              ['stats']['batting']['runs'])
                                pg_rbi = int(scoredata['home']['players'][ID]
                                             ['stats']['batting']['rbi'])
                                pg_sb = int(
                                    scoredata['home']['players'][ID]['stats']
                                    ['batting']['stolenBases'])
                                pg_lob = int(
                                    scoredata['home']['players'][ID]['stats']
                                    ['batting']['leftOnBase'])
                                pg_doubles = int(
                                    scoredata['home']['players'][ID]['stats']
                                    ['batting']['doubles'])
                                pg_triples = int(
                                    scoredata['home']['players'][ID]['stats']
                                    ['batting']['triples'])
                                pg_homeruns = int(
                                    scoredata['home']['players'][ID]['stats']
                                    ['batting']['homeRuns'])

                                p_categories = [
                                    p_averages, p_obp, p_slg, p_ops, p_runs,
                                    p_doubles, p_triples, p_homeruns,
                                    p_strikeouts, p_walks, p_hits, p_ab, p_sb,
                                    p_rbi, p_lob
                                ]
                                pg_categories = [
                                    pg_ab, pg_strikeouts, pg_hits, pg_walks,
                                    pg_runs, pg_rbi, pg_sb, pg_lob, pg_doubles,
                                    pg_triples, pg_homeruns
                                ]
                                p_names = [
                                    'averages', 'obp', 'slg', 'ops', 'runs',
                                    'doubles', 'triples', 'homeruns',
                                    'strikeouts', 'walks', 'hits', 'ab', 'sb',
                                    'rbi', 'lob'
                                ]
                                pg_names = [
                                    'ab', 'strikeouts', 'hits', 'walks',
                                    'runs', 'rbi', 'sb', 'lob', 'doubles',
                                    'triples', 'homeruns'
                                ]

                                if game_date == '2019-07-15':
                                    print("Here I am")
                                    if content_dict[playername]['2019'][
                                            'dates'].count('2019-07-15') < 2:
                                        print(content_dict[playername]['2019']
                                              ['dates'].count('2019-07-15'))
                                        with open(
                                                "2019/" + str(playername) +
                                                ".txt", "w") as f:
                                            try:
                                                content_dict[playername][
                                                    '2019']['dates'].append(
                                                        game_date)
                                                for i in range(
                                                        len(p_categories)):
                                                    content_dict[playername][
                                                        '2019']['progression'][
                                                            p_names[i]].append(
                                                                p_categories[i]
                                                            )
                                                for i in range(
                                                        len(pg_categories)):
                                                    content_dict[playername][
                                                        '2019']['per_game'][
                                                            pg_names[i]].append(
                                                                pg_categories[
                                                                    i])
                                                f.write(str(content_dict))
                                                print("Write Success")
                                            except Exception as e:
                                                print("we got an error ", e)
                                                print("Database Error ")
                                else:
                                    if game_date not in content_dict[
                                            playername]['2019']['dates']:
                                        print("Yes")
                                        with open(
                                                "2019/" + str(playername) +
                                                ".txt", "w") as f:
                                            try:
                                                content_dict[playername][
                                                    '2019']['dates'].append(
                                                        game_date)
                                                for i in range(
                                                        len(p_categories)):
                                                    content_dict[playername][
                                                        '2019']['progression'][
                                                            p_names[i]].append(
                                                                p_categories[i]
                                                            )
                                                for i in range(
                                                        len(pg_categories)):
                                                    content_dict[playername][
                                                        '2019']['per_game'][
                                                            pg_names[i]].append(
                                                                pg_categories[
                                                                    i])
                                                f.write(str(content_dict))
                                                print("Write Success")
                                            except Exception as e:
                                                print("we got an error ", e)
                                                print("Database Error ")
                                    else:
                                        pass
                                        print("Already in for", playername)

                    else:
                        if ID in scoredata['away']['players']:
                            if scoredata['away']['players'][ID]['stats'][
                                    'batting'] != {}:
                                #progressive
                                p_averages = float(
                                    scoredata['away']['players'][ID]
                                    ['seasonStats']['batting']['avg'])
                                p_obp = float(
                                    scoredata['away']['players'][ID]
                                    ['seasonStats']['batting']['obp'])
                                p_slg = float(
                                    scoredata['away']['players'][ID]
                                    ['seasonStats']['batting']['slg'])
                                p_ops = float(
                                    scoredata['away']['players'][ID]
                                    ['seasonStats']['batting']['ops'])
                                p_runs = int(
                                    scoredata['away']['players'][ID]
                                    ['seasonStats']['batting']['runs'])
                                p_doubles = int(
                                    scoredata['away']['players'][ID]
                                    ['seasonStats']['batting']['doubles'])
                                p_triples = int(
                                    scoredata['away']['players'][ID]
                                    ['seasonStats']['batting']['triples'])
                                p_homeruns = int(
                                    scoredata['away']['players'][ID]
                                    ['seasonStats']['batting']['homeRuns'])
                                p_strikeouts = int(
                                    scoredata['away']['players'][ID]
                                    ['seasonStats']['batting']['strikeOuts'])
                                p_walks = int(
                                    scoredata['away']['players'][ID]
                                    ['seasonStats']['batting']['baseOnBalls'])
                                p_hits = int(
                                    scoredata['away']['players'][ID]
                                    ['seasonStats']['batting']['hits'])
                                p_ab = int(
                                    scoredata['away']['players'][ID]
                                    ['seasonStats']['batting']['atBats'])
                                p_sb = int(
                                    scoredata['away']['players'][ID]
                                    ['seasonStats']['batting']['stolenBases'])
                                p_rbi = int(scoredata['away']['players'][ID]
                                            ['seasonStats']['batting']['rbi'])
                                p_lob = int(
                                    scoredata['away']['players'][ID]
                                    ['seasonStats']['batting']['leftOnBase'])
                                #per game
                                pg_ab = scoredata['away']['players'][ID][
                                    'stats']['batting']['atBats']
                                pg_strikeouts = scoredata['away']['players'][
                                    ID]['stats']['batting']['strikeOuts']
                                pg_hits = scoredata['away']['players'][ID][
                                    'stats']['batting']['hits']
                                pg_walks = scoredata['away']['players'][ID][
                                    'stats']['batting']['baseOnBalls']
                                pg_runs = scoredata['away']['players'][ID][
                                    'stats']['batting']['runs']
                                pg_rbi = scoredata['away']['players'][ID][
                                    'stats']['batting']['rbi']
                                pg_sb = scoredata['away']['players'][ID][
                                    'stats']['batting']['stolenBases']
                                pg_lob = scoredata['away']['players'][ID][
                                    'stats']['batting']['leftOnBase']
                                pg_doubles = scoredata['away']['players'][ID][
                                    'stats']['batting']['doubles']
                                pg_triples = scoredata['away']['players'][ID][
                                    'stats']['batting']['triples']
                                pg_homeruns = scoredata['away']['players'][ID][
                                    'stats']['batting']['homeRuns']

                                p_categories = [
                                    p_averages, p_obp, p_slg, p_ops, p_runs,
                                    p_doubles, p_triples, p_homeruns,
                                    p_strikeouts, p_walks, p_hits, p_ab, p_sb,
                                    p_rbi, p_lob
                                ]
                                pg_categories = [
                                    pg_ab, pg_strikeouts, pg_hits, pg_walks,
                                    pg_runs, pg_rbi, pg_sb, pg_lob, pg_doubles,
                                    pg_triples, pg_homeruns
                                ]
                                p_names = [
                                    'averages', 'obp', 'slg', 'ops', 'runs',
                                    'doubles', 'triples', 'homeruns',
                                    'strikeouts', 'walks', 'hits', 'ab', 'sb',
                                    'rbi', 'lob'
                                ]
                                pg_names = [
                                    'ab', 'strikeouts', 'hits', 'walks',
                                    'runs', 'rbi', 'sb', 'lob', 'doubles',
                                    'triples', 'homeruns'
                                ]

                                if game_date == '2019-07-15':
                                    print("Here I am")
                                    if content_dict[playername]['2019'][
                                            'dates'].count('2019-07-15') < 2:
                                        print(content_dict[playername]['2019']
                                              ['dates'].count('2019-07-15'))
                                        with open(
                                                "2019/" + str(playername) +
                                                ".txt", "w") as f:
                                            try:
                                                content_dict[playername][
                                                    '2019']['dates'].append(
                                                        game_date)
                                                for i in range(
                                                        len(p_categories)):
                                                    content_dict[playername][
                                                        '2019']['progression'][
                                                            p_names[i]].append(
                                                                p_categories[i]
                                                            )
                                                for i in range(
                                                        len(pg_categories)):
                                                    content_dict[playername][
                                                        '2019']['per_game'][
                                                            pg_names[i]].append(
                                                                pg_categories[
                                                                    i])
                                                f.write(str(content_dict))
                                                print("Write Success")
                                            except Exception as e:
                                                print("we got an error ", e)
                                                print("Database Error ")
                                else:
                                    if game_date not in content_dict[
                                            playername]['2019']['dates']:
                                        print("Yes")
                                        with open(
                                                "2019/" + str(playername) +
                                                ".txt", "w") as f:
                                            try:
                                                content_dict[playername][
                                                    '2019']['dates'].append(
                                                        game_date)
                                                for i in range(
                                                        len(p_categories)):
                                                    content_dict[playername][
                                                        '2019']['progression'][
                                                            p_names[i]].append(
                                                                p_categories[i]
                                                            )
                                                for i in range(
                                                        len(pg_categories)):
                                                    content_dict[playername][
                                                        '2019']['per_game'][
                                                            pg_names[i]].append(
                                                                pg_categories[
                                                                    i])
                                                f.write(str(content_dict))
                                                print("Write Success")
                                            except Exception as e:
                                                print("we got an error ", e)
                                                print("Database Error ")
                                    else:
                                        pass
                                        print("Already in for", playername)
Example #24
0
def pitching_everything2019():

    players = []

    for i in range(len(players)):
        playername = players[i]

        with open("2019/" + str(playername) + ".txt", "r") as FILE:
            content = FILE.read()
            try:
                content_dict = eval(content)
            except Exception as e:
                print("we got an error ", e)
                print("Database Error ")
            else:
                print("read succees for", playername)
            ID = content_dict[playername]["ID"]

        sched = statsapi.schedule(start_date='03/28/2019',
                                  end_date='09/29/2019',
                                  team=137)
        for i in range(len(sched)):
            gameId = sched[i]["game_id"]
            game_date = sched[i]["game_date"]
            scoredata = statsapi.boxscore_data(gameId)
            if sched[i]["game_type"] == "R":
                if sched[i]['home_name'] == "San Francisco Giants":
                    if ID in scoredata['home']['players']:
                        if scoredata['home']['players'][ID]['stats'][
                                'pitching'] != {}:
                            #progressive
                            p_era = scoredata['home']['players'][ID][
                                'seasonStats']['pitching']['era']
                            p_innings = (
                                scoredata['home']['players'][ID]['seasonStats']
                                ['pitching']['inningsPitched'])
                            p_hits = (scoredata['home']['players'][ID]
                                      ['seasonStats']['pitching']['hits'])
                            p_runs = scoredata['home']['players'][ID][
                                'seasonStats']['pitching']['runs']
                            p_earned_runs = scoredata['home']['players'][ID][
                                'seasonStats']['pitching']['earnedRuns']
                            p_walks = scoredata['home']['players'][ID][
                                'seasonStats']['pitching']['baseOnBalls']
                            p_strikeouts = scoredata['home']['players'][ID][
                                'seasonStats']['pitching']['strikeOuts']
                            p_homeruns = scoredata['home']['players'][ID][
                                'seasonStats']['pitching']['homeRuns']
                            p_doubles = scoredata['home']['players'][ID][
                                'seasonStats']['pitching']['doubles']
                            p_triples = scoredata['home']['players'][ID][
                                'seasonStats']['pitching']['triples']
                            p_ab = scoredata['home']['players'][ID][
                                'seasonStats']['pitching']['atBats']
                            p_obp = scoredata['home']['players'][ID][
                                'seasonStats']['pitching']['obp']
                            p_wins = scoredata['home']['players'][ID][
                                'seasonStats']['pitching']['wins']
                            p_losses = scoredata['home']['players'][ID][
                                'seasonStats']['pitching']['losses']
                            p_holds = scoredata['home']['players'][ID][
                                'seasonStats']['pitching']['holds']
                            p_blown_saves = scoredata['home']['players'][ID][
                                'seasonStats']['pitching']['blownSaves']
                            pg_innings = scoredata['home']['players'][ID][
                                'stats']['pitching']['inningsPitched']
                            pg_hits = scoredata['home']['players'][ID][
                                'stats']['pitching']['hits']
                            pg_runs = scoredata['home']['players'][ID][
                                'stats']['pitching']['runs']
                            pg_earned_runs = scoredata['home']['players'][ID][
                                'stats']['pitching']['earnedRuns']
                            pg_walks = scoredata['home']['players'][ID][
                                'stats']['pitching']['baseOnBalls']
                            pg_strikeouts = scoredata['home']['players'][ID][
                                'stats']['pitching']['strikeOuts']
                            pg_homeruns = scoredata['home']['players'][ID][
                                'stats']['pitching']['homeRuns']
                            pg_pitches = scoredata['home']['players'][ID][
                                'stats']['pitching']['pitchesThrown']
                            pg_strikes = scoredata['home']['players'][ID][
                                'stats']['pitching']['strikes']

                            p_categories = [
                                p_era, p_innings, p_hits, p_runs,
                                p_earned_runs, p_walks, p_strikeouts,
                                p_homeruns, p_doubles, p_triples, p_ab, p_obp,
                                p_wins, p_losses, p_holds, p_blown_saves
                            ]
                            pg_categories = [
                                pg_innings, pg_hits, pg_runs, pg_earned_runs,
                                pg_walks, pg_strikeouts, pg_homeruns,
                                pg_pitches, pg_strikes
                            ]
                            p_names = [
                                'era', 'innings', 'hits', 'runs',
                                'earned_runs', 'walks', 'strikeouts',
                                'homeruns', 'doubles', 'triples', 'ab', 'obp',
                                'wins', 'losses', 'holds', 'blown_saves'
                            ]
                            pg_names = [
                                'innings', 'hits', 'runs', 'earned_runs',
                                'walks', 'strikeouts', 'homeruns', 'pitches',
                                'strikes'
                            ]

                            if game_date == '2019-07-15':
                                print("Here I am")
                                if content_dict[playername]['2019'][
                                        'dates'].count('2019-07-15') < 1:
                                    print(content_dict[playername]['2019']
                                          ['dates'].count('2019-07-15'))
                                    with open(
                                            "2019/" + str(playername) + ".txt",
                                            "w") as f:
                                        try:
                                            content_dict[playername]['2019'][
                                                'dates'].append(game_date)
                                            for i in range(len(p_categories)):
                                                content_dict[playername][
                                                    '2019']['progression'][
                                                        p_names[i]].append(
                                                            p_categories[i])
                                            for i in range(len(pg_categories)):
                                                content_dict[playername][
                                                    '2019']['per_game'][
                                                        pg_names[i]].append(
                                                            pg_categories[i])
                                            f.write(str(content_dict))
                                            print("Write Success")
                                        except Exception as e:
                                            print("we got an error ", e)
                            else:
                                if game_date not in content_dict[playername][
                                        '2019']['dates']:
                                    print("Yes")
                                    with open(
                                            "2019/" + str(playername) + ".txt",
                                            "w") as f:
                                        try:
                                            content_dict[playername]['2019'][
                                                'dates'].append(game_date)
                                            for i in range(len(p_categories)):
                                                content_dict[playername][
                                                    '2019']['progression'][
                                                        p_names[i]].append(
                                                            p_categories[i])
                                            for i in range(len(pg_categories)):
                                                content_dict[playername][
                                                    '2019']['per_game'][
                                                        pg_names[i]].append(
                                                            pg_categories[i])
                                            f.write(str(content_dict))
                                            print("Write Success")
                                        except Exception as e:
                                            print("we got an error ", e)
                                else:
                                    pass
                                    print("Already In")

                else:
                    if ID in scoredata['away']['players']:
                        if scoredata['away']['players'][ID]['stats'][
                                'pitching'] != {}:
                            #progressive
                            p_era = scoredata['away']['players'][ID][
                                'seasonStats']['pitching']['era']
                            p_innings = (
                                scoredata['away']['players'][ID]['seasonStats']
                                ['pitching']['inningsPitched'])
                            p_hits = (scoredata['away']['players'][ID]
                                      ['seasonStats']['pitching']['hits'])
                            p_runs = scoredata['away']['players'][ID][
                                'seasonStats']['pitching']['runs']
                            p_earned_runs = scoredata['away']['players'][ID][
                                'seasonStats']['pitching']['earnedRuns']
                            p_walks = scoredata['away']['players'][ID][
                                'seasonStats']['pitching']['baseOnBalls']
                            p_strikeouts = scoredata['away']['players'][ID][
                                'seasonStats']['pitching']['strikeOuts']
                            p_homeruns = scoredata['away']['players'][ID][
                                'seasonStats']['pitching']['homeRuns']
                            p_doubles = scoredata['away']['players'][ID][
                                'seasonStats']['pitching']['doubles']
                            p_triples = scoredata['away']['players'][ID][
                                'seasonStats']['pitching']['triples']
                            p_ab = scoredata['away']['players'][ID][
                                'seasonStats']['pitching']['atBats']
                            p_obp = scoredata['away']['players'][ID][
                                'seasonStats']['pitching']['obp']
                            p_wins = scoredata['away']['players'][ID][
                                'seasonStats']['pitching']['wins']
                            p_losses = scoredata['away']['players'][ID][
                                'seasonStats']['pitching']['losses']
                            p_holds = scoredata['away']['players'][ID][
                                'seasonStats']['pitching']['holds']
                            p_blown_saves = scoredata['away']['players'][ID][
                                'seasonStats']['pitching']['blownSaves']
                            pg_innings = scoredata['away']['players'][ID][
                                'stats']['pitching']['inningsPitched']
                            pg_hits = scoredata['away']['players'][ID][
                                'stats']['pitching']['hits']
                            pg_runs = scoredata['away']['players'][ID][
                                'stats']['pitching']['runs']
                            pg_earned_runs = scoredata['away']['players'][ID][
                                'stats']['pitching']['earnedRuns']
                            pg_walks = scoredata['away']['players'][ID][
                                'stats']['pitching']['baseOnBalls']
                            pg_strikeouts = scoredata['away']['players'][ID][
                                'stats']['pitching']['strikeOuts']
                            pg_homeruns = scoredata['away']['players'][ID][
                                'stats']['pitching']['homeRuns']
                            pg_pitches = scoredata['away']['players'][ID][
                                'stats']['pitching']['pitchesThrown']
                            pg_strikes = scoredata['away']['players'][ID][
                                'stats']['pitching']['strikes']

                            p_categories = [
                                p_era, p_innings, p_hits, p_runs,
                                p_earned_runs, p_walks, p_strikeouts,
                                p_homeruns, p_doubles, p_triples, p_ab, p_obp,
                                p_wins, p_losses, p_holds, p_blown_saves
                            ]
                            pg_categories = [
                                pg_innings, pg_hits, pg_runs, pg_earned_runs,
                                pg_walks, pg_strikeouts, pg_homeruns,
                                pg_pitches, pg_strikes
                            ]
                            p_names = [
                                'era', 'innings', 'hits', 'runs',
                                'earned_runs', 'walks', 'strikeouts',
                                'homeruns', 'doubles', 'triples', 'ab', 'obp',
                                'wins', 'losses', 'holds', 'blown_saves'
                            ]
                            pg_names = [
                                'innings', 'hits', 'runs', 'earned_runs',
                                'walks', 'strikeouts', 'homeruns', 'pitches',
                                'strikes'
                            ]

                            if game_date == '2019-07-15':
                                print("Here I am")
                                if content_dict[playername]['2019'][
                                        'dates'].count('2019-07-15') < 1:
                                    print(content_dict[playername]['2019']
                                          ['dates'].count('2019-07-15'))
                                    with open(
                                            "2019/" + str(playername) + ".txt",
                                            "w") as f:
                                        try:
                                            content_dict[playername]['2019'][
                                                'dates'].append(game_date)
                                            for i in range(len(p_categories)):
                                                content_dict[playername][
                                                    '2019']['progression'][
                                                        p_names[i]].append(
                                                            p_categories[i])
                                            for i in range(len(pg_categories)):
                                                content_dict[playername][
                                                    '2019']['per_game'][
                                                        pg_names[i]].append(
                                                            pg_categories[i])
                                            f.write(str(content_dict))
                                            print("Write Success")
                                        except Exception as e:
                                            print("we got an error ", e)
                            else:
                                if game_date not in content_dict[playername][
                                        '2019']['dates']:
                                    print("Yes")
                                    with open(
                                            "2019/" + str(playername) + ".txt",
                                            "w") as f:
                                        try:
                                            content_dict[playername]['2019'][
                                                'dates'].append(game_date)
                                            for i in range(len(p_categories)):
                                                content_dict[playername][
                                                    '2019']['progression'][
                                                        p_names[i]].append(
                                                            p_categories[i])
                                            for i in range(len(pg_categories)):
                                                content_dict[playername][
                                                    '2019']['per_game'][
                                                        pg_names[i]].append(
                                                            pg_categories[i])
                                            f.write(str(content_dict))
                                            print("Write Success")
                                        except Exception as e:
                                            print("we got an error ", e)
                                else:
                                    pass
                                    print("Already In")