vereine / app.py
mgokg's picture
Update app.py
ca984f0 verified
raw
history blame
3.92 kB
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()
"""