James McCool
commited on
Commit
·
85f2b5f
1
Parent(s):
8e0da46
Add unmatched names warning in app.py: implement logic to identify and display portfolio names without matches in projections, enhancing user feedback and improving data validation during the matching process.
Browse files
app.py
CHANGED
@@ -148,6 +148,7 @@ with tab1:
|
|
148 |
|
149 |
# Create match dictionary for portfolio names to projection names
|
150 |
portfolio_match_dict = {}
|
|
|
151 |
for portfolio_name in st.session_state['portfolio_names']:
|
152 |
match = process.extractOne(
|
153 |
portfolio_name,
|
@@ -158,6 +159,7 @@ with tab1:
|
|
158 |
portfolio_match_dict[portfolio_name] = match[0]
|
159 |
else:
|
160 |
portfolio_match_dict[portfolio_name] = portfolio_name
|
|
|
161 |
|
162 |
# Update portfolio with matched names
|
163 |
portfolio = st.session_state['portfolio'].copy()
|
@@ -216,7 +218,12 @@ with tab1:
|
|
216 |
projections['upload_match'] = projections['player_names'].map(match_dict)
|
217 |
st.session_state['export_dict'] = match_dict
|
218 |
|
219 |
-
|
|
|
|
|
|
|
|
|
|
|
220 |
st.session_state['origin_portfolio'] = st.session_state['portfolio'].copy()
|
221 |
|
222 |
# with tab2:
|
|
|
148 |
|
149 |
# Create match dictionary for portfolio names to projection names
|
150 |
portfolio_match_dict = {}
|
151 |
+
unmatched_names = []
|
152 |
for portfolio_name in st.session_state['portfolio_names']:
|
153 |
match = process.extractOne(
|
154 |
portfolio_name,
|
|
|
159 |
portfolio_match_dict[portfolio_name] = match[0]
|
160 |
else:
|
161 |
portfolio_match_dict[portfolio_name] = portfolio_name
|
162 |
+
unmatched_names.append(portfolio_name)
|
163 |
|
164 |
# Update portfolio with matched names
|
165 |
portfolio = st.session_state['portfolio'].copy()
|
|
|
218 |
projections['upload_match'] = projections['player_names'].map(match_dict)
|
219 |
st.session_state['export_dict'] = match_dict
|
220 |
|
221 |
+
if unmatched_names:
|
222 |
+
st.warning(f"Found {len(unmatched_names)} names in portfolio without matches in projections:")
|
223 |
+
for name in unmatched_names:
|
224 |
+
st.write(f"- {name}")
|
225 |
+
else:
|
226 |
+
st.success("All portfolio names were matched to projections!")
|
227 |
st.session_state['origin_portfolio'] = st.session_state['portfolio'].copy()
|
228 |
|
229 |
# with tab2:
|