File size: 2,096 Bytes
f1953a3 c60844b f1953a3 6cd4aa9 f1953a3 c60844b 6cd4aa9 c60844b 6cd4aa9 f1953a3 6cd4aa9 f1953a3 6cd4aa9 f1953a3 c60844b 3a54228 f1953a3 c60844b |
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 55 |
import gradio as gr
import pandas as pd
import re
def calculate_correlations(file_obj):
try:
# Попробуем разные разделители
try:
df = pd.read_csv(file_obj.name, encoding='utf-8')
except pd.errors.ParserError:
try:
df = pd.read_csv(file_obj.name, sep=';', encoding='utf-8')
except pd.errors.ParserError:
try:
df = pd.read_csv(file_obj.name, sep='\t', encoding='utf-8')
except pd.errors.ParserError as e:
return {"error": f"Ошибка парсинга файла: {e}"}
# Проверяем, что столбец 'Soon ' существует
if 'Soon ' not in df.columns:
return {"error": "Столбец 'Soon ' не найден в файле."}
# Преобразование 'Soon ' с обработкой ошибок
try:
df['Soon '] = df['Soon '].astype(str).str.replace(' из 5', '')
df['Soon '] = pd.to_numeric(df['Soon '].astype(str).str.replace(',', '.'), errors='coerce')
except AttributeError:
return {"error": "Ошибка преобразования столбца 'Soon '. Проверьте формат данных."}
# ... (остальной код для расчета корреляций без изменений) ...
return {
"correlation_review": correlation_review,
"correlation_accommodation": correlation_accommodation,
"correlation_expert": correlation_expert
}
except Exception as e:
return {"error": f"Неизвестная ошибка: {e}"} # Общее сообщение об ошибке
iface = gr.Interface(
fn=calculate_correlations,
inputs=gr.File(type="filepath", label="CSV файл с отзывами"),
outputs=gr.JSON(),
title="Корреляционный анализ отзывов",
description="Загрузите CSV файл с отзывами."
)
iface.launch() |