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个(最后一个)元素后面换行。但是我不知道该把换行符放在哪里。
3 个回答
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()
6
听起来你只是想在每一行之后加上它,所以把它放在循环的最后面,这个循环是用来遍历每一行的:
for row in z:
print row[1:12]
for i in row[1:12]:
k.write(i+'\t')
k.write('\n')