【问题标题】:Python - add a column to an existing tab separated filePython - 向现有的制表符分隔文件添加一列
【发布时间】:2011-03-04 20:58:00
【问题描述】:

我希望将一列数据添加到文件中。

该文件当前具有三个制表符分隔的列。

abbd    1234    0.987
affr    2345    0.465

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

li = [-1.0099876, 34.87659]

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

abbd    1234    0.987    -1.0099876

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

谢谢, S :-)

【问题讨论】:

  • 最好从输入数据创建一个新文件,然后在必要时替换旧文件。

标签: python file append


【解决方案1】:
import fileinput

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

【讨论】:

    【解决方案2】:

    我支持 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-05
      • 2013-06-09
      • 2011-01-31
      • 1970-01-01
      • 2016-01-05
      • 2012-10-05
      • 1970-01-01
      相关资源
      最近更新 更多