def check_yesterday_fanduel(playerMap): yesterdayDate = datetime.date.today()-datetime.timedelta(days=1) with open("final_preds.txt","r") as f: resultList = json.loads(f.readline()) with open("final_predList.txt","r") as f: predList = json.loads(f.readline()) with open("yesterday_results.txt","w") as f: totalPred = 0 totalActual = 0 totalCost = 0 for i in range(0,len(resultList[0])): name = resultList[3][i] points = resultList[1][i] position = resultList[0][i] cost= resultList[2][i] totalPred += points totalCost += cost #print(name) playeridStr = Scraper.playername_to_id(str(name)) #print(playeridStr) # print(type(playeridStr)) gameOrderedDict = playerMap[playeridStr] lastGameStats = gameOrderedDict[next(reversed(gameOrderedDict))] predictedStatsList = predList[name] if(lastGameStats[0] != yesterdayDate.month or lastGameStats[1] != yesterdayDate.day or lastGameStats[2] != yesterdayDate.year): f.write(name + " might have been injured or did not play\n") f.write(name + " (" + position + ") was projected for " + str(points) + " points at " + str(cost) + " cost and actually got " + str(0) + "\n") else: f.write(json.dumps([float("{0:.2f}".format(x)) for x in predictedStatsList])+"\n") statsList = lastGameStats[12:] f.write(json.dumps(statsList)+"\n") actual_fanduel = Util.calc_fanduel_points(statsList) totalActual += actual_fanduel f.write(name + " (" + position + ") was projected for " + str(points) + " points at " + str(cost) + " cost and actually got " + str(actual_fanduel) + "\n") f.write("\n") f.write("Total Predicted points is " + str(totalPred) + " at " + str(totalCost) + " cost, and total actual points is " + "{0:.2f}".format(totalActual))
def gen_description_and_fanduel_map(dict,csvFileName): playerList = [] pred_statList = {} with open("final.txt","w") as f: fanduel_data_arr = Util.fanduel_scrape(csvFileName) for playerid, statList in dict.items(): name = Scraper.playerid_to_playerName(str(int(playerid))) #print(name) if(name in fanduel_data_arr["Name"].as_matrix()): [row] = fanduel_data_arr.loc[fanduel_data_arr['Name'] == name].as_matrix() position = row[1] fanduelAvg = row[4] cost = row[6] injured = row[10] predicted = Util.calc_fanduel_points(statList) #print(type(statList)) pred_statList[name] = statList.tolist() #print(row) f.write( name + ": [" + "{0:.2f}".format(statList[0]) + " mins, " + "{0:.2f}".format(statList[1]) + "/" + "{0:.2f}".format(statList[2]) + " fg, " + "{0:.2f}".format(statList[3]) + "/" + "{0:.2f}".format(statList[4]) + " 3p, " + "{0:.2f}".format(statList[5]) + "/" + "{0:.2f}".format(statList[6]) + " ft, " + "{0:.2f}".format(statList[7]) + " dreb, " + "{0:.2f}".format(statList[8]) + " oreb, " + "{0:.2f}".format(statList[9]) + " reb, " + "{0:.2f}".format(statList[10]) + " ast, " + "{0:.2f}".format(statList[11]) + " stl, " + "{0:.2f}".format(statList[12]) + " blk, " + "{0:.2f}".format(statList[13]) + " TO, " + "{0:.2f}".format(statList[14]) + " PF, " + "{0:.2f}".format(statList[15]) + " +/-, " + "{0:.2f}".format(statList[16]) + " pts] FANDUEL: " + "{0:.2f}".format(predicted) + ", " + position + ", " + str(cost) + ", " + "{0:.2f}".format(fanduelAvg) + "\n") if(injured != "GTD" and injured != "O"): playerList.append([position, predicted, cost,name]) writeFinal_predList(pred_statList) #writePlayerIDDict(playerIDDict) return playerList