Задать вопрос
@anysofronova

Как удалить некоторые строки из файла?

У меня есть текстовый файл в котором более 1,1 миллиарда строк и есть список в котором хранятся номера строк, которые мне не нужны (их около 100 млн)
Как наименее затратно по времени удалить ненужные строки или создать новый файл в который перенести все строки кроме тех. которые мне не нужны?
Самый простой способ это сделать вот так
with open(output_file, 'a') as fan:
    other_file = open('ALL.txt', 'r')
    for i, line in enumerate(other_file):
        if i not in edit_points:
            fan.write(line)

где other_file - это файл с миллиардом строк, а edit_points - это список в котором ненужные строки
но это очень медленно
  • Вопрос задан
  • 119 просмотров
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 1
мультипоточность и только она одна спасет
разбиваем входящий файл на чунки по 2000 записей, к примеру
в каждом блоке прибиваем не нужные строки
записываем каждый чунк в новый файл
проблемы будут с записью в файл. поэтому надо использовать этот рецепт
дорогу осилит идущий :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
SpectrumData Екатеринбург
от 150 000 до 250 000 ₽
AST Москва
До 350 000 ₽
Wanted. Москва
До 250 000 ₽
14 янв. 2025, в 00:52
100 руб./за проект
14 янв. 2025, в 00:45
7000 руб./за проект
14 янв. 2025, в 00:39
30000 руб./за проект