Инструменты Python. Создание нестандартных отчетов
Для примера представим задачу:
После обработки информации по поиску нарушений на видео или скрин-снимках с видеорегистраторов необходимо срочно сформировать отчет, в котором на изображении будет виден момент нарушения, а рядом пояснения и дополнительная информация.
Имеем:
- папку, в которой располагаются необходимые изображения;
- excel-файл, в котором представлены идентификаторы изображений с пояснениями.
Начнем с создания ipynb-файла в том же месте, где располагается папка с изображениями и Excel-файл. Для работы нам понадобятся только 2 библиотеки:
Загрузим информацию с Excel-файла, а также имена файлов, которые располагаются в папке «Изображения»:
Далее необходимо реализовать функцию, которая сформирует отчет в виде таблицы в.html-файле. Функция будет состоять из 3-х функциональных частей:
- начало: задаем заголовок и имена столбцов;
- тело документа: отображение изображений с пояснениями;
- конец: запись данных, формирование документа.
С помощью данной конструкции создается html-файл с названием Report.html. Между тегами «h1» задается заголовок отчета. Между тегами «style» задаются параметры для форматирования таблицы и текста. Например, параметр «font-size» задает размер текста. Далее с помощью тегов «th» задаем количество и имена столбцов.
Данный блок создает переменную, в которой содержится информация о данных для отображения. Для каждой строки таблицы, формируется два значения, которые будут записываться в переменную data:
- path_to_img: путь к изображению;
- description: описание к изображению.
Последний блок функции записывает в.html-файл информацию о расположении изображения, а также его описание. Структура.html-файлов формируется за счет тегов (html, head, h1, body и т.д.), которые всегда записываются два раза, для каждого из значений или параметров. Для корректного вывода текст заголовка нужно поместить между тегами «h1» (открытие тега) и «/h1» (закрытие тега). Т.к. в первом блоке функции сформировали документ открытием тегов (html, body, table) в конце документа, то после записи информации необходимо закрыть указанные теги с помощью записи переменной html_tags.
После запуска функции, в папке где располагается ipynb-файл сформируется отчет с именем Report.html. Для его запуска можно воспользоваться любым интернет-браузером. Для корректной работы необходимо, чтобы папка с изображениями, excel-файл, ipynb-файл и Report.html располагались в одной директории.