24Sureshkumar commited on
Commit
0f6adcd
·
verified ·
1 Parent(s): 85f6146

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -95
app.py CHANGED
@@ -1,102 +1,14 @@
1
- import os
2
- import pandas as pd
3
- import openpyxl
4
- from itertools import combinations
5
- from copy import deepcopy
6
  import streamlit as st
 
7
 
8
- st.set_page_config(page_title="250 Captain–Vice-Captain Generator", layout="wide")
9
- st.title("🏏 Generate All 250 Captain–Vice-Captain Combinations")
10
-
11
- # Default file option
12
- default_path = "default.xlsx"
13
- use_default = False
14
-
15
- if os.path.exists(default_path):
16
- use_default = st.checkbox("✅ Use saved default file (default.xlsx)?")
17
 
18
- uploaded_file = None
19
- if not use_default:
20
- uploaded_file = st.file_uploader("📤 Upload Excel File", type=["xlsx"])
21
 
22
- if use_default or uploaded_file is not None:
23
  try:
24
- # Read Excel
25
- df = pd.read_excel(default_path) if use_default else pd.read_excel(uploaded_file)
26
-
27
- st.subheader("📄 Uploaded Excel File Preview")
28
  st.dataframe(df)
29
-
30
- # Extract team names from columns A & B
31
- team_a_names = df.iloc[:, 0].dropna().tolist()
32
- team_b_names = df.iloc[:, 1].dropna().tolist()
33
-
34
- team_a = [{"name": str(name).strip()} for name in team_a_names]
35
- team_b = [{"name": str(name).strip()} for name in team_b_names]
36
-
37
- # Confirm teams
38
- st.write("🔵 **Team A:**", team_a_names)
39
- st.write("🟢 **Team B:**", team_b_names)
40
-
41
- # Generate all 25 teams by swapping 1 player
42
- all_teams = []
43
- team_number = 1
44
-
45
- for i in range(5): # index in Team A to swap
46
- for j in range(5): # index from Team B
47
- new_team = deepcopy(team_a)
48
- new_team[i] = deepcopy(team_b[j]) # swap one player
49
- all_teams.append({
50
- "Team Name": f"Team {team_number}",
51
- "Players": new_team
52
- })
53
- team_number += 1
54
-
55
- # Generate all 250 combinations (10 per team)
56
- full_team_list = []
57
- team_output_counter = 1
58
-
59
- for team in all_teams:
60
- player_list = team["Players"]
61
- team_name = team["Team Name"]
62
-
63
- # All C–VC pairs from 5 players
64
- cvc_combos = list(combinations(player_list, 2))
65
-
66
- for cap, vc in cvc_combos:
67
- if cap['name'] != vc['name']:
68
- team_rows = []
69
- for member in player_list:
70
- role = "Member"
71
- if member['name'] == cap['name']:
72
- role = "Captain"
73
- elif member['name'] == vc['name']:
74
- role = "Vice-Captain"
75
- team_rows.append({
76
- "Team": f"{team_name} ({team_output_counter})",
77
- "Player": member['name'],
78
- "Role": role
79
- })
80
-
81
- full_team_list.extend(team_rows)
82
- team_output_counter += 1
83
-
84
- # Create DataFrame
85
- final_df = pd.DataFrame(full_team_list)
86
-
87
- st.subheader("📋 All 250 Captain–Vice-Captain Combinations")
88
- st.dataframe(final_df)
89
-
90
- # Download button
91
- csv = final_df.to_csv(index=False).encode("utf-8")
92
- st.download_button(
93
- label="📥 Download CSV",
94
- data=csv,
95
- file_name="250_captain_vc_teams.csv",
96
- mime="text/csv"
97
- )
98
-
99
- st.success(f"✅ Total Unique Team Combinations Generated: {team_output_counter - 1}")
100
-
101
  except Exception as e:
102
- st.error(f"❌ Error occurred: {e}")
 
 
 
 
 
 
1
  import streamlit as st
2
+ import pandas as pd
3
 
4
+ st.title(" openpyxl Test")
 
 
 
 
 
 
 
 
5
 
6
+ uploaded_file = st.file_uploader("Upload an Excel file", type="xlsx")
 
 
7
 
8
+ if uploaded_file is not None:
9
  try:
10
+ df = pd.read_excel(uploaded_file)
11
+ st.write("✅ File loaded successfully!")
 
 
12
  st.dataframe(df)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  except Exception as e:
14
+ st.error(f"❌ Error: {e}")