Автоматизация отчетов за 30 секунд

Всякий раз, когда обсуждается автоматизация, часто упоминается Python. Простой в использовании синтаксис, огромное количество библиотек и построение скрипт-ориентированного языка делают Python лучше в автоматизации по сравнению с другими языками программирования.

Малые и крупные компании ежедневно создают отчеты с помощью таких инструментов Microsoft Office, как Word и Excel. В этой статье я подробно расскажу о создании таблиц данных в MS Word через Python.

Я рассмотрю сценарий, в котором у нас есть несколько новостных статей, и нам нужно создать документ Word с таблицами, содержащими статистику, извлеченную из этих статей. Вот некоторые из этих статистических данных: количество слов , количество предложений и средняя длина слова .

Зависимости

В этом примере я использовал Python 3.7. Единственная зависимость, которую вам нужно установить, - это python-docx. Вы можете установить эту зависимость, отправив следующую команду в терминал вашего компьютера.

pip install python-docx

Извлечение статистики из статей

В этом примере я случайно взял две статьи о спорте из CNN. Для извлечения статистики я написал следующую describe_text(text) функцию. Эта функция принимает строковый параметр (статья, обзор,…) и возвращает словарь статистики, такой как Количество символов, Количество слов, Количество предложений и другие.

Создание таблиц

Сначала вам нужно создать экземпляр объекта документа через класс Document. Для каждой статьи извлеките статистику, вызвав функцию describe_text(text), и создайте таблицу с помощью функции add_table(row, columns). Для каждой статистики в словаре создайте строку с помощью функции add_row() и добавьте соответствующую статистику. Наконец, добавьте разрыв страницы в конце, вызвав add_page_break()function, чтобы представить каждую таблицу на новой странице.

Чтобы узнать больше о текстовой статистике с чистыми функциями Python, ознакомьтесь с другой моей статьей ниже.



Заключение

Создавать текстовые документы с помощью Python очень просто. Все, что вам нужно, это библиотека python-docx. Эта библиотека предлагает возможности для выполнения большинства вещей (но не всех), которые вы можете выполнить в MS Word.

По моему опыту, я создал тысячи документов Word с двузначным числом страниц за считанные секунды. Я сделал это, чтобы организовать данные журналов в более удобочитаемом формате или представить письменные выводы после анализа текстовых данных обзора продукта.