# ================= 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()