James McCool
				
			
		Enhance data handling in load_ss_file.py by replacing zeros with NaN and dropping rows with any NaN values. This improves data integrity for CSV and Excel file imports.
		fb3a403
		
		| import streamlit as st | |
| import numpy as np | |
| import pandas as pd | |
| import time | |
| from rapidfuzz import process | |
| import re | |
| def load_ss_file(lineups, csv_file): | |
| df = csv_file.copy() | |
| try: | |
| name_dict = dict(zip(df['ID'], df['Name'])) | |
| except: | |
| name_dict = dict(zip(df['Id'], df['Nickname'])) | |
| # Now load and process the lineups file | |
| try: | |
| clean_name = re.sub(r' \(\d+\)', '', lineups.name) | |
| print(clean_name) | |
| print(lineups.name) | |
| if clean_name.endswith('.csv'): | |
| lineups_df = pd.read_csv(lineups) | |
| lineups_df = lineups_df.replace(0, np.nan) | |
| elif clean_name.endswith(('.xls', '.xlsx')): | |
| lineups_df = pd.read_excel(lineups) | |
| lineups_df = lineups_df.replace(0, np.nan) | |
| else: | |
| st.error('Please upload either a CSV or Excel file for lineups') | |
| return None, None | |
| lineups_df = lineups_df.dropna(how='any') | |
| export_df = lineups_df.copy() | |
| # Map the IDs to names | |
| for col in lineups_df.columns: | |
| lineups_df[col] = lineups_df[col].map(name_dict) | |
| return export_df, lineups_df | |
| except Exception as e: | |
| st.error(f'Error loading lineups file: {str(e)}') | |
| return None, None | 
