У каждого есть рабочие задачи, не слишком важные и не сильно-то связанные с профессией, но такие, от которых не отвертишься. Одноразовое выполнение этих задач не составляет большого труда. Однако когда они становятся постоянными и начинают отнимать много времени, их нужно автоматизировать.
Автоматизация этих задач позволит перестать тратить время на рутину. Вы сможете сосредоточиться на действительно важных вещах, что значительно повысит эффективность вашей работы. Кроме того, вы примените на практике все свои знания о Python и даже узнаете что-то новое.
Давайте рассмотрим три проекта Python, которые помогли нам автоматизировать некоторые повседневные задачи на работе и, надеемся, помогут и вам!
1. Автоматизация отчетности в Excel
Подумайте обо всем, что вам нужно сделать для создания отчетов в Excel. Вы используете формулы Excel, создаете сводную таблицу, диаграммы и форматируете рабочие листы.
Сделать это один раз легко, но когда вам приходится делать это с определенной периодичностью, задача усложняется. К счастью, Python может помочь нам автоматизировать такие задачи. В следующий раз для создания отчета в Excel потребуется лишь пара щелчков мышью.
Подходы к решению
Для автоматизации Excel-отчетов можно использовать openpyxl и Pandas. Подробную инструкцию можно почитать в статье «Автоматизация отчетов в Excel с помощью Python». Обе библиотеки прекрасны и крайне полезны. Но у этого подхода есть недостаток: новичкам может потребоваться некоторое время, чтобы изучить openpyxl. А между тем, эта библиотека пригодится только для работы с Excel.
К счастью, есть более простой подход к автоматизации отчетов в Excel. Нам нужно просто установить библиотеку Python mitosheet (также известную как Mito). Эта библиотека позволяет нам группировать данные и вычислять сводную статистику с помощью интуитивно понятного интерфейса, подобного Excel. Самым приятным будет то, что Mito генерирует код для каждого редактирования. Поэтому мы сможем увидеть код Python, соответствующий каждому редактированию.
В приведенном ниже примере вы можете увидеть, как мы использовали интерфейс mitosheet для создания сводной таблицы. После создания сводной таблицы код создается автоматически. Удобно, не правда ли?
Чтобы автоматизировать создание сводных таблиц и другие задачи в Excel, необходимо установить библиотеку mitosheet. Для ее установки сначала откройте терминал и загрузите установщик Mito с помощью следующей команды:
python -m pip install mitoinstaller
Затем запустите установщик (выполнение этой команды может занять некоторое время):
python -m mitoinstaller install
Вот и все! Теперь вы можете значительно упростить себе жизнь с помощью mitosheet. Как создать свою первую сводную таблицу в Mito, можно узнать здесь.
2. Автоматизация визуализации данных
Большинство проектов по анализу данных заканчиваются презентацией, содержащей множество графиков. Раньше мы обновляли отчеты в Excel, а затем вручную создавали визуализации, такие как гистограммы, круговые и коробчатые диаграммы и т.д.
Однако это отнимает очень много времени, поэтому очень хотелось бы найти альтернативу. К счастью, в Python такая альтернатива есть. Существует пара библиотек, которые могут помочь нам автоматизировать построение визуализаций. Нам нужно будет только прочитать обновленные отчеты Excel с помощью Python, а все визуализации создадутся при запуске скрипта.
Решение
Чтобы автоматизировать визуализацию данных, сначала нам нужно написать код, создающий нужный нам график (желательно в файле Jupiter Notebook). Затем запишите, как должны выглядеть входные данные (файл Excel). Убедитесь, что имена столбцов, форма данных, тип данных и другие важные характеристики останутся такими же при следующем обновлении.
Python предлагает различные варианты для создания как стандартных, так и интерактивных визуализаций. Для этого можно использовать такие библиотеки, как Matplotlib и Seaborn. Кроме того, для создания интерактивных визуализаций вы можете использовать Pandas и Plotly.
Но изучение этих библиотек может занять у вас много часов. Здесь тоже может помочь Mito! Вы можете использовать библиотеку mitosheet для визуализации данных в пару щелчков мыши. Кроме того, автоматически будет генерироваться код на Python. Этот код можно использовать для автоматизации создания визуализации данных для будущих задач.
Давайте посмотрим, как это работает.
Здесь мы используем библиотеку mitosheet для создания гистограммы набора данных Netflix. Нам нужно только выбрать столбец, нажать кнопку графика и — вуаля! График создан, а код сгенерирован автоматически.
3. Автоматизация работы с сайтами
Одна из скучнейших задач, которую приходилось выполнять каждому младшему аналитику данных (да и не только им), заключается в ежедневной загрузке файлов на сайт клиента. Шаги были довольно простыми: перейди на сайт X, нажми эту кнопку, выбери вариант из раскрывающегося списка и нажми кнопку «Загрузить».
Это занимает около двух минут. Только вот эти шаги приходится повторять сотни раз в течение недели. Поэтому хорошо было бы автоматизировать эту задачу. Это можно сделать, например, с помощью Selenium. Это инструмент для управления браузерами, например Chrome, при помощи Python.
Решение
Чтобы автоматизировать любую работу с сайтом с помощью Python, сначала подумайте обо всех шагах, которые вы обычно выполняете на сайте. Ваша задача может включать нажатие на кнопки, выбор элементов в раскрывающихся списках, введение текста, прокрутку вверх или вниз, вход на страницу и выход и так далее и тому подобное.
После того, как все задачи перечислены, реплицируйте все шаги в Python с помощью Selenium. Вы можете поискать руководства по работе с данной библиотекой в YouTube. Кроме того, существуют разные туториалы по Selenium для начинающих. Вашей главной задачей будет создание бота в Selenium, который будет выполнять практически любую задачу на сайте, как если бы вы управляли им самостоятельно.
Заключение
Автоматизация избавляет нас от многих рутинных задач. В этой статье мы рассмотрели три проекта, связанных с автоматизацией:
- создание отчетов в Excel ,
- визуализация данных,
- работа с сайтами.
Мы познакомились с таким инструментом, как Mito. Его основное достоинство заключается в том, что он самостоятельно генерирует код, который вы можете использовать в дальнейшем для реализации похожих задач.
Надеемся, эта статья была полезной для вас. Успехов в написании кода!
Перевод статьи «3 Python Projects That Will Help Automate Your Life».