|
import streamlit as st |
|
import pandas as pd |
|
import io |
|
|
|
st.set_page_config(layout="wide") |
|
|
|
|
|
def load_city_data(city): |
|
file_path = f"{city.lower()}.json" |
|
return pd.read_json(file_path) |
|
|
|
|
|
def main(): |
|
|
|
|
|
with st.sidebar: |
|
st.header("Bereich wählen") |
|
bamberg = st.button("Bamberg ") |
|
coburg = st.button("Coburg ") |
|
bad_kissingen = st.button("Kissingen ") |
|
|
|
|
|
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: |
|
|
|
header_container = st.container() |
|
with header_container: |
|
|
|
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_buffer = io.BytesIO() |
|
data.to_excel(excel_buffer, index=False) |
|
excel_buffer.seek(0) |
|
st.download_button( |
|
label="Download Excel", |
|
data=excel_buffer, |
|
file_name="data.xlsx", |
|
mime="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" |
|
) |
|
|
|
|
|
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() |
|
""" |
|
|