Python - 向现有的制表符分隔文件添加列

1 投票
2 回答
1783 浏览
提问于 2025-04-16 00:05

我想在一个文件里添加一列数据。

这个文件现在有三列,用制表符分隔。

abbd    1234    0.987
affr    2345    0.465

我有一个长度为8,800的浮点数列表。

li = [-1.0099876, 34.87659]

我想把这个列表作为第四列添加到文件里。

abbd    1234    0.987    -1.0099876

注意 - 我的文件是以r+模式打开的。

谢谢, S :-)

2 个回答

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
3
import fileinput

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

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

撰写回答