File size: 3,987 Bytes
a42f7fa a940780 a42f7fa 1c37ba7 6a95524 ca984f0 b9add5d ca984f0 6c7781f eefc686 bcad111 73fa18e fccd7db 7f35be2 ca984f0 73fa18e 8a8cb59 a276b45 bcad111 73fa18e a276b45 73fa18e bd26d3d fccd7db 7f35be2 ca984f0 e52d4ad ca984f0 f477eb1 ca984f0 993a684 eefc686 edef113 bcad111 f5d4b78 338117e 051eb6a a276b45 fccd7db 0695325 338117e 41b9186 ca984f0 b9add5d ca984f0 6c7781f |
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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
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(
"""
<style>
.stButton > button {
width: 100%;
padding: 10px;
margin: 5px 0;
text-align: center;
}
</style>
""",
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() |