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.")