2010-06-17 85 views
1

我希望將一列數據添加到文件。Python - 將列添加到現有選項卡分隔文件

該文件目前有三個製表符分隔的列。

abbd 1234 0.987 
affr 2345 0.465 

我有一個長度爲8,800的浮動列表。

li = [-1.0099876, 34.87659] 

我希望將此列表作爲第四列添加到文件中。

abbd 1234 0.987 -1.0099876 

注 - 我的文件在r +模式下打開。

感謝, 小號:-)

+2

更好的是從輸入數據創建一個新文件,然後在必要時替換舊文件。 – MattH 2010-06-17 09:33:28

回答

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 
相關問題