Python - добавить столбец в существующий файл с разделителями табуляции

1

Я хочу добавить столбец данных в файл.

В настоящее время файл имеет три столбца с разделителями табуляции.

abbd    1234    0.987
affr    2345    0.465

У меня есть список длиной 8 800, содержащий поплавки.

li = [-1.0099876, 34.87659]

Я хочу добавить этот список в качестве четвертого столбца в файл.

abbd    1234    0.987    -1.0099876

Примечание. Мой файл открыт в режиме r +.

Спасибо, S: -)

  • 2
    Лучше создать новый файл из входных данных, а затем заменить старый файл, если это необходимо.
Теги:
file
append

2 ответа

3
Лучший ответ
import fileinput

for fl, line in zip(li, fileinput.input(['a.txt'], inplace=True)):
    print(line.strip() + '\t' + str(fl))
1

Я с MattH, операции на месте, как правило, плохая идея. Альтернативный подход может быть:

import itertools

def add_column(lines, values, column_delimiter="\t"):
    for line, value in itertools.izip(lines, values):
        yield line.rstrip() + column_delimiter + str(value)

li = [-1.0099876, 34.87659]  
for line in add_column(open("a.txt"), li):
    print line

Ещё вопросы

Сообщество Overcoder
Наверх
Меню