2010-07-01 54 views
4

我在一个标签分隔的文本文件中读取数据,然后每行都有一个列表,然后索引每个列表的第一个条目,然后将其写入文件。下面的代码:Python:换行符的帮助

import csv 
z = csv.reader(open('output.blast'), delimiter='\t') 
k = open('output.fasta', 'w') 
for row in z: 
    print row[1:12] 
    for i in row[1:12]: 
     k.write(i+'\t') 

当写它写它作为一个长行的文件,我想一个新的生产线在每个列表中的第11次(最后一次)进入后开始。但我想不通的地方放新线系统字符

回答

6

这听起来像你只是希望它的每一行之后,所以把它放在的结束for循环,超过行迭代:

for row in z: 
    print row[1:12] 
    for i in row[1:12]: 
     k.write(i+'\t') 
    k.write('\n') 
+0

抱歉有一个金发的时刻,谢谢! – Liam 2010-07-01 18:17:39

0
import csv 
z = csv.reader(open('output.blast'), delimiter='\t') 
k = open('output.fasta', 'w') 
for row in z: 
    print row[1:12] 
    for i in row[1:12]: 
     k.write(i+'\t') 
    k.write('\n ') # <- write out the newline here. 
2

如果您将它重新写回制表符分隔的格式,为什么不再使用csv包?

r = csv.reader(open('output.blast'),delimiter='\t') 
outfile = open('output.fasta','w') 
w = csv.writer(outfile,delimiter='\t') 
w.writerows(row[1:12] for row in r) 
outfile.flush() 
outfile.close()