从文件中提取特定列以在python中创建新文件

时间:2016-05-05 17:15:39

标签: python

我有一个看起来像这样的文件:

o 345644 0 0 0 1
0 454545 0 0 2 2
0 423233 0 0 1 1
. .      . . . .
. .      . . . .
. .      . . . .

我想要做的是提取第二列和第6列来创建一个文本文件。我写了下面的代码,但我得到的输出文件只包含第二列。我想要的输出是一个新文件,如下所示:

newfile.txt

 345644 1
 454545 2
 423233 1
 .      .
 .      .
 .      .

这是我的代码:

dta_2path = open("file.txt","r")
ws_2= open("newfile.txt", "w")

for line in dta_2path:
    if line.strip():
       ws_2.write("\t".join(line.split()[1:2]+ line.split()[9:10])+"\n") 

dta_2path.close()
ws_2.close()

如何解决这个问题的任何帮助将不胜感激。提前谢谢!

2 个答案:

答案 0 :(得分:1)

试试这个:

for line in dta_2path:
    if line.strip():
        cols = line.split()
        ws_2.write(cols[1] + "\t" + cols[5] + "\n")

答案 1 :(得分:0)

你选错了指数。如果您使用line.split(" ")[1]line.split(" ")[5]

,它应该有效