Как записать комбинацию двух строк в одну строку?
У меня есть файл. Вот пример данных из файла:
10.000899
10.001798
10.002697
10.003596
10.004495
10.005394
10.006293
10.007192
10.008091
10.00899
10.009889
10.010788
10.011687
10.012586
10.013485
10.014384
10.015283
10.016182
10.017081
Мне надо пройтись по строкам и сохранить две соседние строки с одного файла в другой файл одной строчкой. Вариант записывать это все в список или массив не подойдет). Т. е. надо считывать данные и сразу их записывать в файл Должно быть что-то вроде:
10.000899 10.001798
10.001798 10.002697
10.002697 10.003596
10.003596 10.004495
10.004495 10.005394
Я пробовал использовать enumerate, но не могу понять как получить значение по индексу строки
with open("short_100.txt", "r") as fgfg, open("long_100.txt", "w"):
for index, k in enumerate(fgfg):
По сути, задача сводится к тому, как получить номер строки по индексу строки, но пока не понимаю как это сделать. Как решить эту задачу?
Спасибо
Ответы (1 шт):
Автор решения: slippyk
→ Ссылка
with open('filename_in', 'r') as fin:
with open('filename_out', 'w+') as fout:
tmp = None
for line in fin:
if tmp is not None:
fout.write(tmp + ' ' + line)
tmp = line.rstrip('\n')
UPD: если с шагом
def write_file(f_in, f_out, line_step):
with open(f_in, 'r') as fin:
with open(f_out, 'w+') as fout:
tmp = [None] * line_step
index = 0
for line in fin:
if tmp[index % line_step] is not None:
fout.write(tmp[index % line_step] + ' ' + line)
tmp[index % line_step] = line.rstrip('\n')
index += 1
write_file('filename_in', 'filename_out', 5)