Загальні вимоги:
Мета: Мені потрібно, щоб програма автоматично витягувала дані у форматі 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 з підтвердженням виконання завдання і коротким звітом.
Висновки та рекомендації:
Середа виконання: Хотілося б отримати рекомендацію, де краще розгорнути цю програму.