prog1764 8072ddd0fc fix: запуск из папки (py main.py) — убран относительный импорт
editor.py использовал 'from .core import', который не работает при
запуске скриптом. Заменено на обычный 'from core import'.
2026-08-03 09:29:16 +04:00

ImportMapper

Универсальный редактор импорта из Excel-опросников. Показывает, какие данные из файла опросника импортируются и куда, позволяет включить/выключить поля и добавить свои привязки.

Поддерживаемые типы опросников (профили в profiles/):

  • 152 — 152-ФЗ «О персональных данных»
  • 187 — 187-ФЗ «О безопасности КИИ»
  • 117 — 117-ФЗ (безопасность объектов КИИ / ГИС)
  • mu — МУ (методические указания)
  • kzi — КЗИ (комплекс средств защиты информации)
  • pzi — ПЗИ (программные средства защиты информации)

Запуск

pip install -r requirements.txt
python3 main.py

Как пользоваться

  1. Выберите тип опросника в выпадающем списке.
  2. Нажмите «Обзор» и укажите Excel-файл опросника.
  3. Нажмите «Сканировать» — программа покажет, что импортируется.
  4. Галочками включите/выключите нужные поля.
  5. «💾 Сохранить настройки» — сохраняет настройки для этого типа опросника.
  6. «📤 Выгрузить данные» — собирает данные из Excel в JSON по настройкам (файл export/export_<тип>.json), который может использовать генератор.

Структура

  • main.py — точка входа
  • editor.py — окно редактора
  • core.py — профили, сканирование Excel, извлечение данных
  • profiles/*.json — правила импорта для каждого типа опросника
  • settings/settings_<тип>.json — настройки пользователя (создаются автоматически)
  • export/export_<тип>.json — выгруженные данные (создаются автоматически)

Профили

Каждый профиль — JSON-файл:

{
  "id": "152",
  "name": "152-ФЗ (персональные данные)",
  "common_sheet": "общие",
  "employee_sheet": "сотруд",
  "is_enabled": true,
  "rules": [
    {"pattern": "полное наименование организации", "field": "fullName", "desc": "Полное наименование организации"}
  ],
  "sections": {
    "commission": {"header": "состав комиссии"}
  }
}
  • common_sheet — лист с общими сведениями (подстрока имени листа)
  • employee_sheet — лист с комиссией/сотрудниками (подстрока имени листа)
  • is_enabled — включать ли разбор остальных листов как информационных систем
  • rules — правила: регулярное выражение заголовка → поле программы
  • sections — секции на листе сотрудников (заголовок секции → id)

Правила для 187/117/МУ/КЗИ/ПЗИ — базовые; их можно дополнить под конкретные опросники через редактор (галочка «Найдено, но не импортируется») или отредактировав JSON профиля.

S
Description
Универсальный редактор импорта из Excel-опросников (152-ФЗ, 187-ФЗ, 117-ФЗ, МУ, КЗИ, ПЗИ)
Readme
63 KiB
Languages
Python 100%