File size: 1,800 Bytes
ee79e03
 
 
239f471
92cdf84
ee79e03
92cdf84
69b7bd7
ee79e03
69b7bd7
 
 
ee79e03
 
 
fbc286f
 
69b7bd7
ee79e03
69b7bd7
 
ee79e03
 
69b7bd7
ee79e03
69b7bd7
ee79e03
fbc286f
 
 
69b7bd7
 
ee79e03
69b7bd7
ee79e03
69b7bd7
ee79e03
 
 
69b7bd7
 
ee79e03
 
 
69b7bd7
ee79e03
 
69b7bd7
 
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
import streamlit as st
from utils import analyze_csv
import pandas as pd

st.set_page_config(page_title="CSV Analyst", layout="wide")

st.title("CSV Analyst | CSV-Dateianalyse")
st.header("Laden Sie hier Ihre CSV-Datei hoch:")

# CSV-Datei hochladen
data = st.file_uploader("CSV-Datei hochladen", type="csv")
query = st.text_area("Geben Sie Ihre Frage zu den Daten ein")

if data is not None:
    try:
        # CSV mit Semikolon als Separator lesen
        df = pd.read_csv(data, sep=';', encoding='utf-8')
        st.success("✅ CSV-Datei erfolgreich geladen!")
        
        # DataFrame-Informationen
        st.subheader("Dateninformationen:")
        col1, col2 = st.columns(2)
        with col1:
            st.write(f"Anzahl der Zeilen: {len(df)}")
        with col2:
            st.write(f"Anzahl der Spalten: {len(df.columns)}")
        
        # Spalten anzeigen
        st.write("Verfügbare Spalten:", ", ".join(df.columns))
        
        # Analyse-Button
        if st.button("📊 Analysieren"):
            if not query:
                st.warning("⚠️ Bitte geben Sie eine Frage für die Analyse ein.")
            else:
                with st.spinner("🔄 Analyse läuft..."):
                    try:
                        result = analyze_csv(df, query)
                        
                        # Ergebnisse anzeigen
                        st.subheader("Analyseergebnisse:")
                        st.write(result)
                        
                    except Exception as e:
                        st.error(f"❌ Fehler bei der Analyse: {str(e)}")
                        
    except Exception as e:
        st.error(f"❌ Fehler beim Lesen der Datei: {str(e)}")
        st.write("Stellen Sie sicher, dass die Datei ein gültiges CSV-Format hat.")