Если вы хотите прочитать показанные вами данные, извлечь только строки данных, проанализировать их, чтобы извлечь первый и последний столбцы, а затем записать только первый и последний столбцы в файл, вот как вы можете это сделать:
import re
with open("/tmp/input.txt") as ifh:
with open("/tmp/output.txt", "w") as ofh:
while True:
line = ifh.readline()
if not line:
break
columns = re.split(r"\s+", line.strip())
if len(columns) == 8 and columns[0] != 'nuclide' and columns[0][0] != '-':
ofh.write("{} {}\n".format(columns[0], columns[7]))
Я пытался прощать то, что было в начале файла.Вот выходные данные из данных, которые вы даете в своем вопросе, вставки в файл как есть со всем содержимым сверху, а затем запуска этой программы поверх него.
/ tmp / output.txt:
ag109 9.917E-07
am241 3.577E-06
am243 8.752E-08
cs133 2.112E-05
eu151 2.935E-08
eu153 1.132E-06
gd155 3.786E-08
mo95 1.979E-05
nd143 1.641E-05
nd145 1.181E-05
np237 3.017E-06
Это должно быть в состоянии обрабатывать очень большие файлы, так как я не читаю весь файл в память, а скорее читаю и записываю строки по одной.