从文本文件中提取列

时间:2015-06-24 15:46:28

标签: python

我正在尝试从文本文件中提取两个列datapoint和index,并且我希望将这两列作为列写入文本文件中。我制作了一个小程序,它有点做我想要的但是它没有完全正常工作,

对此有任何建议吗?

我的节目是:

f = open ('infilename', 'r')

header1= f.readline()

for line in f:
    line = line.strip()
    columns = line.split()
    j=float(columns[1])
    i=columns[3]
    print i, j

f.close()

它也是一个错误

j=float(columns[1])
IndexError: list index out of range

示例数据:

datapoint                          index
66.199748     200      0.766113      0  1
66.295962     200      0.826375      1  0
66.295962     200      0.762582      1  1
66.318076     200      0.850936      2  0
66.318076     200      0.751474      2  1
66.479436     200      0.821261      3  0
66.479436     200      0.765673      3  1
66.460284     200      0.869779      4  0
66.460284     200      0.741051      4  1
66.551778     200      0.841143      5  0
66.551778     200      0.765198      5  1
66.303606     200      0.834398      6  0
.            .         .             .  . 
.            .         .             .  . 
.            .         .             .  . 
.            .         .             .  . 
69.284336     200      0.926158  19998  0
69.284336     200      0.872788  19998  1
69.403861     200      0.943316  19999  0
69.403861     200      0.884889  19999  1

1 个答案:

答案 0 :(得分:2)

以下代码将允许您通过Python完成所有文件编写。像你一样通过命令行重定向工作正常,这将只是自包含。

"w"

警告:这将始终覆盖“out.txt”。如果您只是想添加到它的末尾(如果它已经存在),或者创建新文件(如果不存在),则可以在打开{{1}时将"a"更改为out }。