Короче, я пытаюсь «извлечь» определенные строки (строки) из текстового файла. Но это еще не все.
У меня довольно большой текстовый файл (100 000 строк, 60 МБ). Одни фрагменты данных являются важными, а другие - нет. Таких блоков несколько сотен. Нет никакого шаблона, и там, где один останавливается, следующий не обязательно начинается.
Я уже проанализировал файл, чтобы определить, какие строки меня интересуют. Прямо сейчас у меня есть словарь, который содержит «начальные» номера строк в качестве ключей и желаемое количество следующих друг за другом строк в качестве значений. Здесь:
paired_points =
{51: 7,
69: 67,
...
870623: 1730,
872364: 1801}
len(paired_points) =
783
Вместо этого я могу преобразовать это в явные целые числа "start" и "stop" (например, 51 -> 58, 69 -> 136, и т.д. c.), Но это все равно не не помогло.
Я пытаюсь использовать islice из itertools, но он возвращает список объектов islice.
from itertools import islice
file = r'575852.roi'
f = open(file, "r")
a = list()
for key in paired_points:
with open(file) as f:
try:
a.append(islice(f, key, key + int(paired_points[key]))) # Start and stop lines
Это работает концептуально, но мне нужно преобразовать islice объекты для строк. Я имею в виду, я ищу список строк (строк) из текстового файла.
Любая помощь будет принята с благодарностью. Заранее спасибо!