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") bamberg = st.button("Bamberg ") coburg = st.button("Coburg ") bad_kissingen = st.button("Kissingen ") # 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 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") 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() """ 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") bamberg = st.button("Bamberg ") coburg = st.button("Coburg ") bad_kissingen = st.button("Kissingen ") # 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.success("Vereine in Bad Kissingen") if data is not None: # Tabelle und Download-Button nebeneinander anordnen col1, col2 = st.columns([3, 1]) with col1: st.dataframe(data, width=1500) 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" ) if __name__ == "__main__": main() """