Краткое описание
Клиент тратит много времени на ручной сбор и подготовку записей из разных источников.
Решение стало повторяемым процессом сбора и очистки веб-данных с извлечением, валидацией и экспортом.
ПО призвано сократить время ручной подготовки и количество ошибок до передачи данных в место назначения.
История клиента
Клиент - компания по обработке данных из Люксембурга. Она объединяет записи с сайтов, из баз данных и API для дальнейшего использования.
Ручной сбор и подготовка занимают время, поскольку источники имеют разную структуру и формат. Неоднородные поля создают дополнительную работу перед экспортом или импортом.
Цель была простой: создать повторяемые процессы на Python, в командной строке, блокноте или приложении. Они должны были извлекать, очищать и валидировать данные перед отправкой в нужное место назначения.
Решение построено вокруг настройки источников, рабочей области очистки и валидации, а также структурированного экспорта. Правила полей, схем и назначений остались видимыми, чтобы команда клиента могла использовать собственные стандарты.
Клиент хотел
- Запускать повторяемые процессы на Python, в командной строке, блокноте или приложении.
- Экспортировать очищенные результаты в форматах CSV, Excel, Parquet, JSON, Sheets, текста или SQL.
- Очищать, нормализовать, преобразовывать, удалять дубликаты, фильтровать, сортировать и объединять данные.
- Предоставить журналы, отчеты об ошибках, документацию, инструкции по настройке, код и зависимости.
Почему готовое решение не подошло
Готовые продукты покрывают отдельные части задачи: сбор данных из интернета, управляемое извлечение, интеграцию данных или настраиваемые правила скрейпинга. В описании отдельно упоминались извлечение из источника, очистка и валидация, а также сопоставление назначения и отчетность. Поэтому для полного процесса клиента требовалась собственная комбинация.
Обзор проекта
Решение разработано в три этапа: настройка источников и извлечения, очистка и валидация, структурированный экспорт. Так путь записи от источника до назначения остается понятным.
Первый экран объединяет сайты, базы данных и API в одной конфигурации. Также можно добавлять файлы и задавать поля каждого запуска и структуру назначения.
Для работы с разными форматами источников созданы Python-ориентированные процессы извлечения и подготовки. Парсинг HTML, работа с базами данных, чтение таблиц и преобразование документов поддерживают заданные источники.
Рабочая область очистки показывает исходные и очищенные значения, группы дубликатов и результаты валидации. Правила очистки и удаления дубликатов создают единую структуру.
Экран экспорта связывает столбцы и схемы с CSV-, Excel- или базами данных. Сводки обработки и журналы запусков отображают состояние каждого запуска.
В комплект вошли документация, инструкции по настройке и исходный код. Информация о зависимостях и журналы помогают команде клиента управлять процессами и адаптировать их под собственные правила данных.
Ключевые реализованные функции
- Веб-скрейпинг выбранных страниц и полей
- Извлечение из баз данных, API, файлов и документов
- Повторяемые процессы на Python и в приложении
- Очистка, нормализация и преобразование
- Обнаружение дубликатов и объединение записей
- Валидация схем и полей
- Отчетность по пропущенным записям и ошибкам
- Экспорт в CSV, Excel, Parquet, JSON, текст, Sheets и SQL