Загрузка данных


# ================= 4. ЗАПУСК БЕЗ СЛОЖНОГО ИНТЕРФЕЙСА =================
import os
from IPython.display import display

def run_script():
    # Запрашиваем имя файла через стандартный ввод под ячейкой
    filename = input("Введите точное название Excel-файла (например, data.xlsx): ").strip()
    
    if not filename:
        print("Название файла не может быть пустым.")
        return
        
    if not os.path.exists(filename):
        print(f"Ошибка: Файл '{filename}' не найден в текущей папке.")
        print("Доступные файлы Excel в этой папке:")
        excel_files = [f for f in os.listdir() if f.endswith(('.xlsx', '.xls'))]
        print(excel_files if excel_files else "Excel файлы не найдены. Загрузите файл через левую панель.")
        return

    print(f"\nНачинаю обработку файла: {filename}...")
    
    try:
        # Пробуем прочитать со 2-й строки (индекс 1)
        df = pd.read_excel(filename, header=1)
        if "Название мероприятия" not in df.columns:
            # Откат к 1-й строке (индекс 0)
            df = pd.read_excel(filename, header=0)
            
        if "Название мероприятия" not in df.columns:
            print("Критическая ошибка: В таблице не обнаружена колонка 'Название мероприятия'.")
            return
            
        df = df.dropna(subset=["Название мероприятия"])
        print(f"Файл успешно загружен. Строк к обработке: {len(df)}\n")
        
    except Exception as e:
        print(f"Ошибка при чтении файла: {e}")
        return

    # Запуск обработки
    results = []
    for index, row in df.iterrows():
        result = create_event(row)
        results.append(result)

    # Сохранение результатов
    df["MTS_Result_ID"] = results
    name, ext = os.path.splitext(filename)
    output_filename = f"{name}_создано{ext}"

    try:
        df.to_excel(output_filename, index=False)
        print(f"\n[ГОТОВО] Результаты сохранены в файл: {output_filename}")
        print("Вы можете скачать его, кликнув правой кнопкой мыши по файлу в левой панели -> Download.")
    except Exception as e:
        print(f"Ошибка при сохранении: {e}")

# Запускаем функцию
run_script()