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