import streamlit as st import numpy as np import pandas as pd import time from fuzzywuzzy import process def clean_player_name(name): # Handle colon case first (remove everything before colon) if ':' in name: name = name.split(':')[1].strip() # Handle parentheses case (remove everything after opening parenthesis) if '(' in name: name = name.split('(')[0].strip() return name def load_file(upload): if upload is not None: try: if upload.name.endswith('.csv'): df = pd.read_csv(upload) elif upload.name.endswith(('.xls', '.xlsx')): df = pd.read_excel(upload) else: st.error('Please upload either a CSV or Excel file') return None export_df = df.copy() for col in df.columns: if df[col].dtype == 'object': df[col] = df[col].apply(lambda x: clean_player_name(x) if isinstance(x, str) else x) return export_df, df except Exception as e: st.error(f'Error loading file: {str(e)}') return None return None