Форум сайта python.su
Добрый день уважаемые эксперты!
Подскажите а скорее покажите, мне необходимо решить такую задачу, есть два файла из базы данных с пользователями.
файл №1 содержит 30 000 строк
файл №2 содержить 1500 строк
Необходимо сравнить файл 1 и 2 и исключить все строки (пользователей) из файла №2 по списку из файла №1
С питоном только знакомлюсь, собственно вообще ничего не знаю так будет правильнее. Надеюсь на вашу помощь в реализации.
Офлайн
файл №1 содержит 30 000 строкЧто там за строки то? Можно ли их выгрузить в память? Важна ли первоначальная сортировка?
Офлайн
нет сортировка не важна фалы в .txt содержать имя пользователя и e-mail но сейчас дали без имени пользователя остались только e-mail
Офлайн
Ок, пусть один email 50 знаков, значит всего 50 * 30000 = 1,5 Mb данных. В принципе немного.
Выгружайте данные из файлов в память в два множества и ищите пересечение множеств.
Офлайн
#!/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))
Офлайн
Это то что нужно спасибо
Офлайн