Удаляем дубликаты из файла на Python
Здравствуйте! Во время работы с текстовыми файлами часто возникает задача очистки данных от дубликатов. Например, у вас есть список email-адресов, номеров телефонов или логов, и вам нужно удалить повторяющиеся строки.
Сделать это вручную не только долго, но и ненадёжно. А вот с помощью Python вы можете автоматизировать этот процесс буквально за пару минут.
Для удаления повторяющихся строк мы будем использовать структуру данных set(), которая хранит только уникальные значения. Это позволяет легко проверять: встречалась ли такая строка ранее.
Программа на Python
infilename = input("Введите путь: ")
outfilename = input("Введите итоговый файл: ")
lines_seen = set() # Хранилище уже прочитанных строк
outfile = open(outfilename, "w", encoding='utf-8')
for line in open(infilename, "r", encoding='utf-8'):
if line not in lines_seen: # Если строка ещё не встречалась
outfile.write(line) # Записываем её в новый файл
lines_seen.add(line) # И добавляем в хранилище
outfile.close()
Как работает скрипт?
1. Программа запрашивает у пользователя:
2. Открывается выходной файл для записи в кодировке UTF-8.
3. Программа построчно читает входной файл.
4. Каждая строка проверяется: если она ещё не встречалась — записывается в новый файл.
5. Все дубликаты игнорируются, а порядок строк сохраняется.
Где может пригодиться?
Данный скрипт будет полезен:
Если вы хотите освоить Python и автоматизировать рутинные задачи, рекомендую пройти курс «Написание лайфхаков на Python». Там вы узнаете: