Навык: Генерация зачётных ведомостей из журнала
Когда применять
- Пользователь скидывает скриншот электронного журнала (Мой Класс, Сетевой Город и др.)
- Нужно создать
.docxзачётную ведомость по группе - Нужно перенести итоговые оценки (столбец ИТОГ) в официальный документ
- Нужно оформить ведомость с шапкой (группа, дисциплина, преподаватель, дата)
Процедура
Шаг 1 — Попросить скриншот журнала
Попроси пользователя скинуть скриншот журнала с видимым столбцом ИТОГ.
Что должно быть видно на скриншоте:
┌─────────────────────────────────────────────────────────────────────┐
│ Журнал УП.04 Учебная практика / 23ИСд-24 / Курс 2 / 09.02.07 │
│ │
│ Список студентов │ ... даты занятий ... │ ИТОГ │ по теме │ Ср. │
│──────────────────────┼─────────────────────┼──────┼─────────┼──────│
│ 1 Амонбеков Муиз │ 5₃ ... 5₃ │ 5 │ 5,00 │ 4,76 │
│ 2 Борзова Вероника │ н н н н н н │ А/З │ │ 0,00 │
│ 3 Бузанов Семён │ 5₃ ... 5₃ │ 5 │ 5,00 │ 5,00 │
└─────────────────────────────────────────────────────────────────────┘
Пример скриншота журнала:
Шаг 2 — Извлечь метаданные из заголовка журнала
Из заголовка страницы читаем:
| Поле | Где искать | Пример |
|---|---|---|
| Дисциплина | Заголовок журнала | УП.04 - Учебная практика |
| Группа | Заголовок | 23ИСд-24 |
| Курс | Заголовок | Курс 2 |
| Специальность | Заголовок | 09.02.07 |
| Последняя дата | Последнее число в шапке дат | 06.03.2026 |
| Преподаватель | Уточнить у пользователя | Фролова Кира Алексеевна |
⚠️ Семестр определяем по месяцу:
- Сентябрь–Январь → Семестр 1
- Февраль–Июнь → Семестр 2
Шаг 3 — Прочитать столбец ИТОГ
Читаем крайний правый столбец перед колонками «по теме ср. балл» и «Ср.»
Возможные значения:
5,4,3,2— оценкаА/З— отсутствовал / не зачтено (выделяем красным фоном в ведомости)НЗЧилин/з— не зачтено (обрабатываем как А/З)
Правило проверки: если Ср. = 0,00 → скорее всего А/З. Если Ср. > 0 → есть оценка, читаем ИТОГ.
Перед генерацией — подтвердить список у пользователя, особенно если есть нестандартные оценки.
Шаг 4 — Уточнить у пользователя
Перед генерацией спросить (если не указано на скриншоте):
- ФИО преподавателя (может быть несколько)
- Точная дата проведения (если последнее число неразборчиво)
Шаг 5 — Сгенерировать .docx
Использовать скрипт make_vedomost.py.
Запустить из папки проекта:
python make_vedomost.py
Файл сохраняется в папку Зачётные ведомости/ автоматически.
Структура документа:
- Заголовок:
ЗАЧЁТНАЯ ВЕДОМОСТЬ - Подзаголовок: дисциплина
- Реквизиты: курс, группа, семестр, специальность, дата, ФИО преподавателя
- Таблица: № п/п | ФИО | Оценка | Подпись преподавателя
- Шапка: синий фон (
BDD7EE) - Строки А/З: красный фон (
FFE0E0)
- Шапка: синий фон (
- Строка подписи внизу
Шаг 6 — Переместить в папку Зачётные ведомости
Документ сохраняется сразу в Зачётные ведомости/ — дополнительных действий не требуется.
Стандарт именования файлов
<Группа>_<Дисциплина>_зачётная_ведомость.docx
Примеры:
23ИСд-24_УП.04_зачётная_ведомость.docx32ИСд-23_УП.15_зачётная_ведомость.docx1ИСд-25_УП.02_зачётная_ведомость.docx
Если несколько групп одной дисциплины — добавлять суффикс _гр2, _гр3.
Стандартные цвета ведомости
| Элемент | HEX |
|---|---|
| Заголовок таблицы | BDD7EE (синий) |
| Строки А/З | FFE0E0 (красный) |
Зависимости Python
python-docx — генерация .docx
Установка:
pip install python-docx