Несколько простых шагов по автоматизации вашего отчета с помощью библиотеки электронной почты Python.

Как аналитик данных я чаще всего получаю запросы типа «Можете ли вы присылать мне этот отчет еженедельно?» или «Можете ли вы отправлять мне эти данные по электронной почте каждый месяц?». Отправить отчет легко, но будет раздражать, если вам придется делать одно и то же каждую неделю. Вот почему вам следует научиться использовать Python для отправки электронной почты / отчета и запланировать сценарий на вашем сервере.

В этой статье я покажу вам, как извлечь данные из Google BigQuery и отправить их в виде отчета. Вы можете перейти к части Электронная почта, если хотите знать, как отправить электронное письмо с помощью Python.

Импортировать библиотеки

Как обычно, нам придется импортировать библиотеки перед тем, как перейти к части кодирования. Мы будем использовать Клиент протокола SMTP для отправки электронной почты. ConfigParser используется для чтения файла конфигурации, в котором хранится запрос SQL. Я объясню детали в следующей части.

Извлечь данные из BigQuery

Во-первых, вам нужно создать файл конфигурации для хранения всех SQL-запросов. Разделение скрипта Python и SQL-запроса - хорошая практика, особенно если ваш SQL-запрос длинный (более 20 строк). Благодаря этому ваш основной скрипт не будет загроможден длинными SQL-запросами.

Пример файла конфигурации

[report1] - ваша дополнительная конфигурация. filename, dialect и query - атрибуты подконфигурации.

Вы можете прочитать файл конфигурации, используя следующие коды.

Напишите функцию для чтения атрибута подконфигурации

Эта функция самоопределения будет считывать атрибуты переданного вами файла подконфигурации и выводить файл CSV.

yourProjectID будет вашим идентификатором проекта BigQuery, а credential.json - вашим файлом JSON с учетными данными BigQuery. Вы можете удалить это, если хотите использовать веб-аутентификацию для входа.

Теперь вам просто нужен цикл для извлечения всех файлов, которые вы определяете в своем файле конфигурации. config.sections() вернет вам список файлов подконфигурации в вашем файле конфигурации.

Отправьте свой отчет и вложения по электронной почте

Определите содержание вашего электронного письма

Выше показано, как вы определяете свои атрибуты электронной почты, такие как «От», «Кому», «Копия» и «Тема». htmlEmail будет телом вашего электронного письма. В качестве тела письма можно использовать обычный текст или HTML. Я предпочитаю использовать html, потому что могу выполнять большее форматирование, например полужирный, курсив, и изменять цвет шрифта.

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

Отправить электронное письмо

В демонстрационных целях пароль жестко закодирован внутри скрипта. Это не лучшая практика. Вы должны сохранить свой пароль в другом файле для большей безопасности.

Теперь вы узнали, как отправлять электронную почту с вложениями с помощью Python. Напишите мне комментарий, если я допустил ошибку или опечатку.

Вы можете просмотреть полные скрипты в моем Github. Хлопайте, чтобы поддержать меня, если вы считаете, что эта статья вам полезна. Ваше здоровье!