import streamlit as st import pandas as pd # Initialize player stats players = [ {"name": "Dylan Vente", "position": "Striker", "goals": 0, "shots": 0, "assists": 0}, {"name": "Reklov Lageroy", "position": "Striker", "goals": 0, "shots": 0, "assists": 0}, {"name": "Fludjy Moise", "position": "Midfielder", "passes": 0, "tackles": 0, "assists": 0}, {"name": "Nemanja Radonjic", "position": "Midfielder", "passes": 0, "tackles": 0, "assists": 0}, {"name": "Gedson Fernandes", "position": "Midfielder", "passes": 0, "tackles": 0, "assists": 0}, {"name": "Thomas Ouwejan", "position": "Midfielder", "passes": 0, "tackles": 0, "assists": 0}, {"name": "Luis Advincula", "position": "Defender", "tackles": 0, "clearances": 0, "interceptions": 0}, {"name": "Antonee Robinson", "position": "Defender", "tackles": 0, "clearances": 0, "interceptions": 0}, {"name": "Maximiliano Olivera", "position": "Defender", "tackles": 0, "clearances": 0, "interceptions": 0}, {"name": "Daniel Congre", "position": "Defender", "tackles": 0, "clearances": 0, "interceptions": 0}, {"name": "Mathieu Michel", "position": "Goalkeeper", "saves": 0, "clearances": 0}, ] def update_stat(player_name, stat): """Update the stat for the selected player.""" for player in players: if player['name'] == player_name: player[stat] += 1 # Streamlit interface st.title("DLS 19 Live Stats Tracker") st.write("Track player performance live during gameplay!") # Select player and action player_names = [player['name'] for player in players] selected_player = st.selectbox("Select Player", player_names) # Dynamically show actions based on position selected_player_data = next(player for player in players if player['name'] == selected_player) if selected_player_data['position'] == "Striker": actions = ["goals", "shots", "assists"] elif selected_player_data['position'] == "Midfielder": actions = ["passes", "tackles", "assists"] elif selected_player_data['position'] == "Defender": actions = ["tackles", "clearances", "interceptions"] else: # Goalkeeper actions = ["saves", "clearances"] selected_action = st.selectbox("Select Action", actions) # Record action if st.button("Record Action"): update_stat(selected_player, selected_action) st.success(f"Updated {selected_action} for {selected_player}!") # Display current stats st.subheader("Current Player Stats") st.dataframe(pd.DataFrame(players)) # Export data if st.button("Export Stats to CSV"): df = pd.DataFrame(players) df.to_csv("match_stats.csv", index=False) st.success("Stats exported to match_stats.csv")
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter