|
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:") |
|
|
|
|
|
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: |
|
|
|
df = pd.read_csv(data, sep=';', encoding='utf-8') |
|
st.success("✅ CSV-Datei erfolgreich geladen!") |
|
|
|
|
|
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)}") |
|
|
|
|
|
st.write("Verfügbare Spalten:", ", ".join(df.columns)) |
|
|
|
|
|
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) |
|
|
|
|
|
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.") |