Python:如何处理换行符

4

我从一个以制表符分隔的文本文件中读取了内容,然后对于每一行,我将其转换成一个列表,然后提取出该列表的第一个元素,并将其写入到另一个文件中。下面是代码:

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个(最后一个)条目之后开始新的一行。但我无法确定在哪里放置换行符。

3个回答

6

看起来你只是想在每一行后面添加它,所以将其放在遍历行的for循环末尾:

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

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()

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.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接