ohmygaugh commited on
Commit
18eae72
Β·
1 Parent(s): d4ee34f

Fix: Simplify file upload logic and add manual processing button

Browse files
Files changed (1) hide show
  1. app.py +22 -41
app.py CHANGED
@@ -58,54 +58,35 @@ if 'last_uploaded_file' not in st.session_state:
58
  # Enhanced file upload processing
59
  if uploaded_file is not None:
60
  try:
61
- # Get file info
62
- file_details = {
63
- "filename": uploaded_file.name,
64
- "size": uploaded_file.size,
65
- "type": uploaded_file.type
66
- }
67
 
68
- st.sidebar.success(f"πŸ“ **{file_details['filename']}** ({file_details['size']} bytes)")
 
69
 
70
- # Process immediately if it's a new file
71
- file_id = f"{file_details['filename']}_{file_details['size']}"
 
72
 
73
- if 'current_file_id' not in st.session_state:
74
- st.session_state.current_file_id = None
75
 
76
- if st.session_state.current_file_id != file_id:
77
- st.sidebar.info("πŸ”„ Processing uploaded file...")
78
-
79
- try:
80
- # Read the file
81
- if uploaded_file.type == "text/csv" or uploaded_file.name.endswith('.csv'):
82
- df = pd.read_csv(uploaded_file)
83
- else:
84
- # Try reading as CSV anyway
85
- df = pd.read_csv(uploaded_file)
86
-
87
- # Store in session state
88
- st.session_state.uploaded_data_df = df
89
- st.session_state.current_file_id = file_id
90
- st.session_state.last_uploaded_file = uploaded_file.name
91
-
92
- st.sidebar.success(f"βœ… **Successfully loaded!**")
93
- st.sidebar.metric("πŸ“Š Dataset", f"{len(df)} rows Γ— {len(df.columns)} cols")
94
-
95
- except Exception as e:
96
- st.sidebar.error(f"❌ **Error:** {str(e)}")
97
- st.sidebar.info("πŸ’‘ Make sure your file is a valid CSV format")
98
- st.session_state.uploaded_data_df = None
99
- else:
100
- st.sidebar.success("βœ… **File already loaded**")
101
- if st.session_state.uploaded_data_df is not None:
102
- df = st.session_state.uploaded_data_df
103
- st.sidebar.metric("πŸ“Š Current Dataset", f"{len(df)} rows Γ— {len(df.columns)} cols")
104
-
105
  except Exception as e:
106
- st.sidebar.error(f"❌ **Upload Error:** {str(e)}")
 
107
  st.session_state.uploaded_data_df = None
108
 
 
 
 
 
 
 
 
 
 
 
 
 
109
  # Show current data status
110
  if st.session_state.uploaded_data_df is not None:
111
  st.sidebar.write(f"**Current Data:** {len(st.session_state.uploaded_data_df)} rows loaded")
 
58
  # Enhanced file upload processing
59
  if uploaded_file is not None:
60
  try:
61
+ st.sidebar.info("πŸ”„ Processing uploaded file...")
 
 
 
 
 
62
 
63
+ # Read the file directly - simplified approach
64
+ df = pd.read_csv(uploaded_file)
65
 
66
+ # Store in session state
67
+ st.session_state.uploaded_data_df = df
68
+ st.session_state.last_uploaded_file = uploaded_file.name
69
 
70
+ st.sidebar.success(f"βœ… **File loaded successfully!**")
71
+ st.sidebar.success(f"πŸ“ **{uploaded_file.name}** ({len(df)} rows, {len(df.columns)} columns)")
72
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
73
  except Exception as e:
74
+ st.sidebar.error(f"❌ **Error reading file:** {str(e)}")
75
+ st.sidebar.info("πŸ’‘ Make sure your file is a valid CSV format")
76
  st.session_state.uploaded_data_df = None
77
 
78
+ # Manual processing button as backup
79
+ if uploaded_file is not None and st.session_state.uploaded_data_df is None:
80
+ if st.sidebar.button("πŸ”„ Process Uploaded File"):
81
+ try:
82
+ df = pd.read_csv(uploaded_file)
83
+ st.session_state.uploaded_data_df = df
84
+ st.session_state.last_uploaded_file = uploaded_file.name
85
+ st.sidebar.success("βœ… File processed manually!")
86
+ st.rerun()
87
+ except Exception as e:
88
+ st.sidebar.error(f"❌ Error: {str(e)}")
89
+
90
  # Show current data status
91
  if st.session_state.uploaded_data_df is not None:
92
  st.sidebar.write(f"**Current Data:** {len(st.session_state.uploaded_data_df)} rows loaded")