mitrokov
Март 23, 2015 09:09:30
Добрый день уважаемые эксперты!
Подскажите а скорее покажите, мне необходимо решить такую задачу, есть два файла из базы данных с пользователями.
файл №1 содержит 30 000 строк
файл №2 содержить 1500 строк
Необходимо сравнить файл 1 и 2 и исключить все строки (пользователей) из файла №2 по списку из файла №1
С питоном только знакомлюсь, собственно вообще ничего не знаю так будет правильнее. Надеюсь на вашу помощь в реализации.
FishHook
Март 23, 2015 09:17:27
файл №1 содержит 30 000 строк
Что там за строки то? Можно ли их выгрузить в память? Важна ли первоначальная сортировка?
mitrokov
Март 23, 2015 09:20:44
нет сортировка не важна фалы в .txt содержать имя пользователя и e-mail но сейчас дали без имени пользователя остались только e-mail
FishHook
Март 23, 2015 09:34:33
Ок, пусть один email 50 знаков, значит всего 50 * 30000 = 1,5 Mb данных. В принципе немного.
Выгружайте данные из файлов в память в два множества и ищите пересечение множеств.
py.user.next
Март 23, 2015 09:55:16
#!/usr/bin/env python3
fin1 = open('file1.txt', encoding='utf-8')
fin2 = open('file2.txt', encoding='utf-8')
fout = open('file3.txt', 'w', encoding='utf-8')
with fin1, fin2, fout:
fout.writelines(set(fin2).difference(fin1))
mitrokov
Март 23, 2015 19:04:46
Это то что нужно спасибо