Sep-11-2020, 11:30 PM
Okay. It's just I got chastised the other day for putting too much code up. So here goes.
def load_racefiles() : global Race_date global master_race_file global track_name global order global h global line field = ['track','race_number','todays_surface','race_type','todays_purse', 'trn_starts_curmeet','trn_wins_curmeet','jock_sts_curmeet','jock_wins_curmeet' , 'trn_starts_prevyear' , 'trn_wins_prevyear','jock_sts_prevyear','jock_wins_prevyear' , 'trn_starts_curyear' ,'trn_wins_curyear','jock_sts_curyear','jock_wins_curyear', 'morn_line','horse_name' ,'year_of_birth' ,'hstarts_todays_dist','hwins_todays_dist ' , 'hstarts_todays_track','hwins_todays_track','hstarts_turf','hwins_turf' ,'hstarts_mud' , 'hwins_mud','hstarts_cur_yr','hwins_cur_yr','hstarts_prev_yr','hwins_prev_yr','hstarts_life' , 'hwins_life','days_since','power_rating' ,'dist_yards1','dist_yards2','dist_yards3', 'dist_yards4','dist_yards5','dist_yards6' ,'dist_yards7' ,'dist_yards8','dist_yards9', 'dist_yards10','surface1' ,'surface2','surface3' ,'surface4','surface5' ,'surface6' , 'surface7' ,'surface8','surface9' ,'surface10','entrants1','entrants2' ,'entrants3', 'entrants4' ,'entrants5','entrants6','entrants7','entrants8' ,'entrants9','entrants10', 'first_call1' ,'first_call2','first_call3' ,'first_call4' ,'first_call5' ,'first_call6', 'first_call7','first_call8','first_call9' ,'first_call10','second_call1' ,'second_call2', 'second_call3','second_call4' ,'second_call5','second_call6' ,'second_call7' ,'second_call8', 'second_call9','second_call0','finish_Position' ,'last_peed','speed_2back' ,'speed_3back' , 'bestSpeed_Life','bestSpeed_Fasttrack' ,'bestSpeed_turf','bestSpeed_offtrack' ,'bestSpeed_dist', 'race_conditions' ,'todays_race_classification' ] order= [] track_name = " " master_race_file = [] h = {} count = 0 df_filespath = ('C://guis/f_racefiles/') rows = 100 columns = 100 horse_array = [0 for i in range(rows)] filename = StringVar() f_name = StringVar() line = () fd = open("dirpath", "r") file_dir = (fd.read()) fd.close() os.chdir(file_dir) print(file_dir) for f in os.listdir(file_dir): file_name, file_ext = os.path.splitext(f) f_name = file_name + file_ext file_name = file_name.strip()[3:] line_counter = 0 if file_name == Race_date and file_ext == ".jcp": with open(f_name, "r") as csv_file: csv_reader = csv.reader(csv_file) for line in csv_reader: if line_counter > 0: track_name = line[0] #os.chdir(df_filespath) filename = df_filespath + track_name + '.csv' with open(filename, 'a') as csv_file: d_writer = csv.DictWriter(csv_file, fieldnames = field) d_writer.writerow(h) line_counter+= 1 h = {'track' : line[0], 'race_number' : line[2], 'todays_surface' : line[6], 'race_type' : line[8], 'todays_purse' : line[11], 'trn_starts_curmeet' : line[28], 'trn_wins_curmeet' : line[29], 'jock_sts_curmeet' : line[34], 'jock_wins_curmeet' : line[35], 'trn_starts_prevyear' : line[1151], 'trn_wins_prevyear' : line[1152], 'jock_sts_prevyear' : line[1161], 'jock_wins_prevyear' : line[1162], 'trn_starts_curyear' : line[1146], 'trn_wins_curyear' : line[1147], 'jock_sts_curyear' : line[1156], 'jock_wins_curyear': line[1157], 'morn_line': line[43], 'horse_name' : line[44], 'year_of_birth' : line[45], 'hstarts_todays_dist' : line[64], 'hwins_todays_dist ' : line[65], 'hstarts_todays_track' : line[69], 'hwins_todays_track' :line[70], 'hstarts_turf' : line[74], 'hwins_turf' : line[75], 'hstarts_mud' : line[79], 'hwins_mud' : line[80], 'hstarts_cur_yr' : line[84], 'hwins_cur_yr' : line[85], 'hstarts_prev_yr' : line[90], 'hwins_prev_yr' : line[91], 'hstarts_life' : line[96], 'hwins_life' : line[97], 'days_since' : line[223], 'power_rating' : line[250], 'dist_yards1' : line[315], 'dist_yards2' : line[316], 'dist_yards3' : line[317], 'dist_yards4' : line[318], 'dist_yards5' : line[319], 'dist_yards6' : line[320], 'dist_yards7' : line[321], 'dist_yards8' : line[322], 'dist_yards9' : line[323], 'dist_yards10' : line[324], 'surface1' : line[325], 'surface2' : line[326], 'surface3' : line[327], 'surface4' : line[328], 'surface5' : line[329], 'surface6' : line[330], 'surface7' : line[321], 'surface8' : line[332], 'surface9' : line[333], 'surface10' : line[334], 'entrants1' : line[345], 'entrants2' : line[346], 'entrants3' : line[347], 'entrants4' : line[348], 'entrants5' : line[349], 'entrants6' : line[350], 'entrants7' : line[351], 'entrants8' : line[352], 'entrants9' : line[353], 'entrants10' : line[354], 'first_call1' : line[575], 'first_call2' : line[576], 'first_call3' : line[577], 'first_call4' : line[578], 'first_call5' : line[579], 'first_call6' : line[580], 'first_call7' : line[581], 'first_call8' : line[582], 'first_call9' : line[583], 'first_call10' : line[584], 'second_call1' : line[585], 'second_call2' : line[586], 'second_call3' : line[587], 'second_call4' : line[588], 'second_call5' : line[589], 'second_call6' : line[590], 'second_call7' : line[591], 'second_call8' : line[592], 'second_call9' : line[593], 'second_call0' : line[594], 'finish_Position' : line[615], 'last_peed' : line[845], 'speed_2back' : line[846], 'speed_3back' : line[847], 'bestSpeed_Life' : line[1327], 'bestSpeed_Fasttrack' : line[1177], 'bestSpeed_turf' : line[1178], 'bestSpeed_offtrack' : line[1179], 'bestSpeed_dist' : line[1180], 'race_conditions' : line[15], 'todays_race_classification' : line[10] } my_labeldone= Label( text ="Downloading Complete", fg= "black", font = ("sans_serif" , 16)).place(x=500, y=500) def select_track(): global ts global race_number ts = track_listbox.curselection()[0] race_number = race_number ts = int(ts) track_assign() load_track_to_Handi() def load_track_to_Handi(): global track_abrev global race_number with open('C://guis/f_racefiles/'+ track_abrev + '.csv', 'r') as track_file: csv_reader = csv.DictReader(track_file) for line in csv_reader: print(line)User enters date to handicap then program loads those files and parses the info and writes new files. Then user clicks a race number button and then a track button selecting the race to be handicap and this is where the problem shows up. You can see the printout in previous message. Thanks for the help.