Данное ТЗ подготовлено, как пример описания концепции. Реальный стек может отличаться используемыми механизмами и технологиями:1. Цель проекта Разработать и внедрить скрипт, который будет автоматически собирать, стандартизировать и объединять данные из нескольких Google Таблиц (далее — Таблицы-источники) в одну центральную Google Таблицу (далее — Мастер-таблица). Скрипт должен работать на локальном компьютере под управлением ОС Windows 10. 2. Используемые технологии Язык программирования: Python 3.x. Библиотеки: pandas (для обработки данных), google-auth, google-api-python-client (для доступа к Google Sheets API), а также библиотека для работы с файлами Excel, например, openpyxl или xlsxwriter. Авторизация: Возможно использование сервисного аккаунта Google для программного доступа к Таблицам-источникам. 3. Функциональные требования 3.1. Настройка окружения и конфигурация Настройка окружения Python и установка необходимых библиотек. Настройка авторизации через Google Sheets API. Создание конфигурационного файла (например, в формате JSON или YAML) для хранения URL-адресов, а также правил сопоставления полей и стандартизации данных. 3.2. Гибкое управление структурой Мастер-таблицы Скрипт должен быть адаптирован к изменениям структуры Мастер-таблицы. Пользователь должен иметь возможность добавлять новые столбцы или удалять старые в Мастер-таблице без необходимости переписывать скрипт. 3.3. Ручное сопоставление полей Скрипт должен предоставлять механизм для ручной настройки соответствия между заголовками в каждой Таблице-источнике и заголовками в Мастер-таблице. Для каждой новой Таблицы-источника пользователь вручную указывает, какой заголовок в источнике соответствует какому заголовку в Мастер-таблице. Эта информация должна быть сохранена в конфигурационном файле для последующих запусков. 3.4. Стандартизация данных Скрипт должен унифицировать содержимое ячеек в соответствии с правилами, определенными в конфигурационном файле. Должен быть реализован словарь-маппинг для полей, требующих стандартизации (например, Локация). Скрипт должен корректно обрабатывать содержимое на русском, болгарском и английском языках. 3.5. Обработка произвольных полей Для каждой Таблицы-источника должна быть предусмотрена возможность добавления произвольных полей, которые будут статически заполняться для всех записей из этой таблицы. Эти поля должны быть определены в конфигурационном файле вместе с данными о таблице-источнике. Примеры таких полей: Компания-партнер: Агентство "Промо-групп". Контакт менеджера: Иван Иванов, +359 ** *** 1234, ivan@********************.com. Скрипт должен добавлять эти столбцы и заполнять их соответствующими значениями для всех записей, импортированных из конкретной Таблицы-источника, при формировании итогового набора данных. 3.6. Бэкап Мастер-таблицы Перед каждым обновлением Мастер-таблицы скрипт должен автоматически создавать ее бэкап на локальном компьютере. Бэкап должен сохраняться в формате, который можно открыть с помощью Microsoft Excel или LibreOffice Calc (например, .xlsx или .csv). Имя файла бэкапа должно включать дату и время создания, что позволит хранить историю изменений. 3.7. Основная логика работы скрипта Чтение данных из каждой Таблицы-источника. Применение правил сопоставления заголовков, стандартизации содержимого и добавления произвольных полей. Объединение стандартизированных данных в единый DataFrame. Бэкап: Сохранение текущего состояния Мастер-таблицы в файл. Запись объединённых данных в Мастер-таблицу. 3.8. Запуск скрипта Скрипт должен быть запускаемым файлом (например, через .bat файл) на локальном компьютере под управлением Windows 10. Для автоматизации запуска по расписанию можно использовать встроенный в Windows "Планировщик заданий". 4. Дополнительные требования Обработка ошибок: Скрипт должен логировать ошибки, чтобы пользователь мог оперативно их устранить. Документация: К проекту должна прилагаться краткая инструкция по установке, настройке и запуску скрипта.