Preview:
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")
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