Мне нужно сравнить массивные дампы базы данных в формате xls, чтобы анализировать изменения ежедневно (брутто, верно?). В настоящее время я делаю это самым обратным способом и использую xlrd для преобразования xls в csv-файлы, а затем запускаю diff для их сравнения.
Поскольку это база данных, и у меня нет возможности узнать, останутся ли данные когда-либо в одном и том же порядке после чего-то вроде удаления элемента, я не могу сравнить строку x между строкой x между файлами, поэтому составление списков кортежей или чего-то еще не имело бы для меня большого смысла.
Мне в основном нужно найти каждое отдельное изменение, которое могло произойти в любой строке, независимо от положения этой строки в реальном дампе, и единственный реальный «поиск», о котором я мог думать, - это SKU как уникальный идентификатор (это таблица продукта из древней системы БД), но мне нужно знать намного больше, чем просто удаление или добавление продуктов, потому что они могут изменить цену или что-либо еще в этом пункте.
Должен ли я использовать наборы? И после того, как я загрузил 75+ тысяч строк этого файла базы данных в «набор», мой оперативный памяти будет истеричным?
Я думал о загрузке в каждом ряду xls большой конкатенированной строки для добавления в набор. Это эффективная идея? Я мог бы получить список строк, которые различаются между наборами, а затем вернуться к тем строкам в исходном файле базы данных, чтобы найти мои реальные различия.
Я никогда не работал с данными в таком масштабе. Я в основном просто ищу какой-либо совет, чтобы не сделать этот процесс более нелепым, чем должен быть, и я пришел сюда после того, как не нашел что-то, что показалось мне достаточно конкретным, чтобы воспринимать это как хороший совет. Заранее спасибо.