Инструмент для быстрой проверки отличий между файлами Excel (добавлен экспорт результата)
После публикации первой части и полученного опыта, а также волны хейта я немного доработал свой онлайн-инструмент для сравнения двух Excel-файлов.
Сначала немного о том, почему я сделал этот инструмент. Я работаю инженером данных и многое уже автоматизировал в своей работе. Сейчас я занимаюсь переносом разных скриптов из старых офлайн систем в облако. Чтобы сравнивать таблицы, есть разные инструменты, но речь не об этом. В них всё просто — можно преобразовать любые форматы и сравнить. Но появилась задача сравнивать Excel, который получается после работы скрипта, и CSV-файл, выгруженный из Databricks. У кого-то это могут быть также две таблицы из разных систем.
Есть несколько вариантов, как это сделать:
Для продвинутых хейтеров. Можно загрузить Excel в python через pandas и сравнить две таблицы, но там нужно правильно настраивать форматы, и это долго и не очень удобно. Ещё результат выводится в виде таблицы, и приходится самому искать отличия глазами.
Для тех, кто знает формулы в Excel и любит рутину. Можно открыть оба файла в Excel, привести даты к одному формату, прописать формулы для сравнения и так далее. Но это долго, и каждый раз для новых файлов нужно всё делать заново. Приходится создавать дополнительные таблицы с результатами.
В итоге я решил попробовать сделать сайт, который сравнивает файлы прямо в браузере, не загружая их никуда на сервер, а используя только память вашего компьютера. Мне встречались советы в прошлом посте сделать офлайн-инструмент — но, во-первых, в exe-файле может быть всё что угодно, и вы не всегда знаете, что именно он делает. А во-вторых, на работе часто запрещено устанавливать новое ПО.
У моего сайта нет сервера — весь код лежит в открытом GitHub, который подключён к домену.
Какие задачи сейчас решает мой инструмент:
Можно сравнить два Excel-файла или Excel с CSV.
Можно выбрать, какие листы (вкладки) сравнивать.
Все даты перед сравнением автоматически приводятся к одному формату.
Названия колонок приводятся к верхнему регистру, чтобы не было ошибок из-за разного регистра.
Порядок строк в файлах не важен — инструмент их сравнит правильно.
Колонки могут идти в разном порядке — это не проблема.
В конце показывается итоговая таблица с отличиями.
Есть подробная таблица с цветной подсветкой, где видно, в чём конкретно разница.
Можно исключать отдельные колонки из сравнения, чтобы проверить, именно ли в них проблема.
Теперь можно экспортировать (сохранить) итоговую таблицу с подсветкой различий.
Вот пример двух файлов, которые я сейчас сравню:
Как видно, даты там в разных форматах, а колонки — в разном порядке. Выбираем файлы, нажимаем «Сравнить» — и получаем результат:
Для меня это очень удобный инструмент, когда нужно быстро и без сложностей сравнить два Excel-файла, быстро увидеть отличия и отправить кому-то итоговую таблицу с подсветкой.
Заранее спасибо за ваши советы и комментарии.