File size: 1,673 Bytes
a42f7fa
 
a940780
a42f7fa
 
 
 
 
 
 
 
a940780
a42f7fa
 
 
 
 
 
1b0eb72
a42f7fa
 
4b8e8e2
a42f7fa
 
 
 
 
 
 
 
 
1b0eb72
a42f7fa
 
4b8e8e2
a42f7fa
4b8e8e2
a42f7fa
a940780
a42f7fa
 
a940780
 
 
a42f7fa
 
a940780
4b8e8e2
a42f7fa
 
 
 
4b8e8e2
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
import streamlit as st
import pandas as pd
import io  # Importieren von io für BytesIO

# 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("Stadt-Daten-Ansicht")

    # Sidebar mit Buttons
    with st.sidebar:
        st.header("Wähle eine Stadt")
        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("Daten für Bamberg")

    if coburg:
        data = load_city_data("Coburg")
        st.subheader("Daten für Coburg")

    if bad_kissingen:
        data = load_city_data("Kissingen")
        st.subheader("Daten für 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=1000)
        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()