2010-07-01 303 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()