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


import pandas as pd

# Укажите путь к вашему исходному Excel-файлу
input_file = 'result.xlsx'
output_file = 'result_filtered.xlsx'

# 1. Загружаем данные из таблицы
df = pd.read_excel(input_file)

# 2. Фильтруем данные: оставляем только "Физическая культура и спорт"
# Внимание: убедитесь, что название столбца совпадает буква в букву (включая пробелы)
target_subject = 'Физическая культура и спорт'
df_filtered = df[df['Наименование дисциплины'] == target_subject].copy()

# 3. Преобразуем столбец "Группа"
# Приводим к строковому типу и разбиваем по символу "|"
df_filtered['Группа'] = df_filtered['Группа'].astype(str).str.split('|')

# 4. Разбиваем списки групп на отдельные строки 
# Функция explode дублирует остальные данные строки для каждого элемента списка
df_exploded = df_filtered.explode('Группа')

# Убираем случайные пробелы в начале или конце названия группы, если они есть
df_exploded['Группа'] = df_exploded['Группа'].str.strip()

# 5. Сохраняем итоговый результат в новый Excel-файл
df_exploded.to_excel(output_file, index=False)

print(f"Обработка завершена. Итоговый файл сохранен как: {output_file}")