import streamlit as st import pandas as pd import io # Importieren von io für BytesIO st.set_page_config(layout="wide") # JSON-Dateien laden def load_city_data(city): file_path = f"{city.lower()}.json" return pd.read_json(file_path) # Streamlit-App def main(): #st.title("") # Sidebar mit Buttons with st.sidebar: st.header("Bereich wählen") # Container für die Buttons with st.container(): # Breite der Buttons anpassen st.markdown( """ """, unsafe_allow_html=True ) # Buttons nebeneinander anordnen bamberg = st.button("Bamberg") coburg = st.button("Coburg") bad_kissingen = st.button("Bad Kissingen") kronach = st.button("Kronach") forchheim = st.button("Forchheim") lichtenfels = st.button("Lichtenfels") hassberge = st.button("Hassberge") kulmbach = st.button("Kulmbach") erlangen = st.button("Erlangen") # Daten laden und anzeigen basierend auf dem geklickten Button data = None if bamberg: data = load_city_data("Bamberg") if coburg: data = load_city_data("Coburg") if bad_kissingen: data = load_city_data("Kissingen") if kronach: data = load_city_data("Kronach") if forchheim: data = load_city_data("Forchheim") if lichtenfels: data = load_city_data("Lichtenfels") if hassberge: data = load_city_data("Hassberge") if kulmbach: data = load_city_data("Kulmbach") if erlangen: data = load_city_data("Erlangen") if data is not None: # Container für die Überschrift und den Download-Button header_container = st.container() with header_container: # Überschrift und Download-Button nebeneinander col1, col2 = st.columns([4, 1]) with col1: if bamberg: st.subheader("Vereine in Bamberg (642)") elif coburg: st.subheader("Vereine in Coburg (415)") elif bad_kissingen: st.subheader("Vereine im Landkreis Bad Kissingen (471)") elif kronach: st.subheader("Vereine im Landkreis Kronach (565)") elif forchheim: st.subheader("Vereine in Forchheim (205)") elif lichtenfels: st.subheader("Vereine in Lichtenfels (130)") elif hassberge: st.subheader("Vereine im Landkreis Hassberge (417)") elif kulmbach: st.subheader("Vereine in Kulmbach (215)") elif erlangen: st.subheader("Vereine im Lkr. Erlangen-Höchstadt (1772)") with col2: # Excel-Datei generieren excel_buffer = io.BytesIO() # Erstellen eines BytesIO-Objekts data.to_excel(excel_buffer, index=False) # Daten in das BytesIO-Objekt schreiben excel_buffer.seek(0) # Zurücksetzen des Zeigers auf den Anfang des Buffers st.download_button( label="Download Excel", data=excel_buffer, file_name="data.xlsx", mime="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" ) # Tabelle unterhalb der Überschrift st.dataframe(data, width=1500) if __name__ == "__main__": main()