Общие требования:
Цель: Мне нужно, чтобы программа автоматически извлекала данные в формате Excel-таблиц из email, обрабатывала их (включая объединение и стандартизацию данных), а затем загружала результаты в базу данных BigQuery.
Неопределенности: Я не специалист в технологиях, поэтому пока не знаю, как это должно выглядеть — как скрипт, который я смогу запускать со своего компьютера, приложение или сервис, работающий на сервере. Я рассчитываю, что вы подскажете, как сделать это лучше — на моем компьютере, сервере или в облаке.
Гибкость и поддержка: Важно, чтобы программа была простой в использовании и в будущем ее можно было легко адаптировать или изменять при необходимости. Потребуется инструкция по развертыванию и настройке, чтобы я мог ей пользоваться.
Технические процессы и требования:
1. Извлечение данных из email:
Шаг 1: Программа должна подключаться к моему email-аккаунту (например, через IMAP-протокол или Gmail API).
Шаг 2: Она должна проверять наличие новых писем каждый день.
Шаг 3: Если найдено письмо с Excel-таблицей, программа должна автоматически скачивать вложение на мой компьютер или в облачное хранилище.
2. Обработка данных:
Объединение данных: Как только Excel-файлы скачаны, программа должна объединить их в одну сводную таблицу.
Стандартизация данных:
Форматирование названий компаний: Все названия должны быть приведены к единому виду (например, все прописные буквы, удаление лишних пробелов).
Конвертация валют: Нужно, чтобы программа автоматически определяла валюту (например, доллар США или канадский доллар) и конвертировала все значения в одну валюту по текущему курсу (можно использовать API валют).
Дата и числовые форматы: Мне нужно, чтобы все даты и числовые значения были приведены к единому формату (например, YYYY-MM-DD для дат и единый стандартный формат для чисел).
Использование VLOOKUP:
Программа должна использовать VLOOKUP для объединения данных из разных таблиц и поиска соответствий.
Геокодирование: В зависимости от адресов программа должна автоматически генерировать координаты (широту и долготу) для дальнейшего анализа. Это можно реализовать через API геокодирования (например, Google Maps API).
3. Загрузка данных в BigQuery:
Как только таблица полностью обработана, программа должна автоматически загрузить данные в BigQuery. Это включает:
Настройку подключения к BigQuery (через Google Cloud SDK).
Создание или обновление таблицы в BigQuery для приема данных (либо перезапись существующих данных, либо добавление новых строк).
4. Отчет и уведомление:
Логирование: Программа должна вести лог выполнения задач, чтобы я мог видеть, что прошло успешно и где могли возникнуть ошибки.
Уведомления: После завершения загрузки в BigQuery, программа может отправить мне уведомление на email с подтверждением выполнения задачи и кратким отчетом.
Выводы и рекомендации:
Среда выполнения: Хотелось бы получить рекомендацию, где лучше развернуть эту программу.