Задать вопрос
@incognito123

Как сравнить 2 больших csv файла в питоне?

Есть два файла
tracks.csv и tracks2.csv
Обозначение столбцов одинаковое
Как сравнить их по содержанию?
  • Вопрос задан
  • 399 просмотров
Подписаться 2 Простой 11 комментариев
Пригласить эксперта
Ответы на вопрос 2
NeiroNx
@NeiroNx
Программист
Ну CSV - не имеют индекса, а большие в память не загрузить - поэтому только построчно, надеясь на то что одинаковые строчки в одном и том же месте(одинаковый порядок строк) - построчное чтение и сравнение не нагружает память. Иначе придется хотя бы один файл загнать в память.
Ответ написан
Комментировать
@rPman
Если сами файлы в память не влезают, то попробуй сохранять хеш от сравниваемых значений (в т.ч. всю строку, особенно это ускорит процесс, если знаешь что в csv файлах нет строк содержащих \n это часть этого извращенного стандарта) так как грузить файл построчно быстрее чем парсить csv

А дальше простая задача, первый файл грузишь в память в словарь (лучше множество set как я помню оно быстрее), второй файл построчно проверяешь наличие хеша в первом (если надо знать в обе стороны, то загрузи хеши обоих и бери пересечение)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы