|
import streamlit as st |
|
import numpy as np |
|
import pandas as pd |
|
import time |
|
from fuzzywuzzy import process |
|
|
|
|
|
from global_func.clean_player_name import clean_player_name |
|
|
|
def load_file(upload): |
|
pos_values = ['P', 'C', '1B', '2B', '3B', 'SS', 'OF'] |
|
if upload is not None: |
|
try: |
|
if upload.name.endswith('.csv'): |
|
raw_df = pd.read_csv(upload) |
|
elif upload.name.endswith(('.xls', '.xlsx')): |
|
raw_df = pd.read_excel(upload) |
|
else: |
|
st.error('Please upload either a CSV or Excel file') |
|
return None |
|
|
|
df = raw_df[['EntryId', 'EntryName', 'TimeRemaining', 'Points', 'Lineup', 'Player', 'Roster Position', '%Drafted', 'FPTS']] |
|
df = df.rename(columns={'Roster Position': 'Pos', '%Drafted': 'Own'}) |
|
|
|
|
|
|
|
df['Lineup'] = df['Lineup'].str.replace(r'\b(' + '|'.join(pos_values) + r')\b', r'\1,', regex=True) |
|
|
|
|
|
for i in range(0,10): |
|
df[i] = df['Lineup'].str.split(',').str[i].str.strip() |
|
|
|
df[i] = df[i].str.replace(r'^(' + '|'.join(pos_values) + r')\s+', '', regex=True) |
|
position_dict = dict(zip(df['Player'], df['Pos'])) |
|
ownership_dict = dict(zip(df['Player'], df['Own'])) |
|
entry_list = list(set(df['EntryName'])) |
|
entry_list.sort() |
|
|
|
return df, position_dict, ownership_dict, entry_list |
|
except Exception as e: |
|
st.error(f'Error loading file: {str(e)}') |
|
return None |
|
return None |