Найти - Пользователи
Полная версия: Обработка больших текстовых файлов
Начало » Python для экспертов » Обработка больших текстовых файлов
1
The gray Cardinal
Есть ли какие-нибудь специализированные инструменты для обработки очень больших текстовых файлов?
Я попытался “в лоб” сравнить два текстовых файла ~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()
Подождал 2,5 часа - надоело.
Возможно, я криво написал код. Если так - поправьте, пожалуйста.
ActivePython 2.5 под WinXP. Или может, какой-нибудь awk под windows можно использовать?
slivlen
Эти данные можно загнать в какую-нибудь бд и там уже выполнить выборку необходимых данных или на крайний случай в бд можно складывать хэши строк из 1го файла, а то оно очень много памяти может захавать.
Андрей Светлов
import difflib
help(difflib)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB