Last commit not found
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 in Kronach (163)") | |
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 Landkreis Erlangen (1618)") | |
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() |