Форум сайта python.su
Есть ли какие-нибудь специализированные инструменты для обработки очень больших текстовых файлов?
Я попытался “в лоб” сравнить два текстовых файла ~600 Мб каждый, чтобы выделить строки, которые есть в одном файле, но нет в другом:
hash = {} file = open("C:\\Temp\\file1.csv") for line in file: hash[line] = True file.close() file = open("C:\\Temp\\file2.csv") resfile = open("C:\\Temp\\cmp.csv", "wb") for line in file: if not line in hash: resfile.write(line) file.close() resfile.close()
Офлайн
Эти данные можно загнать в какую-нибудь бд и там уже выполнить выборку необходимых данных или на крайний случай в бд можно складывать хэши строк из 1го файла, а то оно очень много памяти может захавать.
Офлайн
import difflib
help(difflib)
Офлайн