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") erlangen = st.button("Erlangen") # Daten laden und anzeigen basierend auf dem geklickten Button data = None if bamberg: data = load_city_data("Bamberg") #st.subheader("Vereine in Bamberg") if coburg: data = load_city_data("Coburg") #st.subheader("Vereine in Coburg") if bad_kissingen: data = load_city_data("Kissingen") #st.subheader("Vereine in Bad Kissingen") if kronach: data = load_city_data("Kronach") #st.subheader("Vereine in Bad Kissingen") if lichtenfels: data = load_city_data("Lichtenfels") #st.subheader("Vereine in Bad Kissingen") if erlangen: data = load_city_data("Erlangen") #st.subheader("Vereine in Bad Kissingen") 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") elif coburg: st.subheader("Vereine in Coburg") elif bad_kissingen: st.subheader("Vereine in Bad Kissingen") elif kronach: st.subheader("Vereine in Kronach") elif bad_kissingen: st.subheader("Vereine in Forchheim") 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()