File size: 1,703 Bytes
a42f7fa a940780 a42f7fa 6e3b38e 6a95524 a42f7fa 6a95524 a42f7fa a44256a a42f7fa 4b8e8e2 a42f7fa 6a95524 a42f7fa 6a95524 a42f7fa 1b0eb72 6a95524 a42f7fa 4b8e8e2 a42f7fa 4b8e8e2 a42f7fa ee256ca a42f7fa a940780 a42f7fa a940780 4b8e8e2 a42f7fa 4b8e8e2 2db3662 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
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()
|