写入文件
我一直在尝试把数据写入一个文件,但它总是把数据写成一行,中间用逗号隔开,前后还有方括号。我想知道怎么才能把数据写入文件,而不带方括号、逗号,也不想在每一行后面换行。而且,第六列的数据必须按降序排列。
下面是我代码的输出结果:
[NP_001026855.1, N, 1, YES, 96.4765%, 0.9823825] [NP_597716.1, D, 1, YES, 96.2573%, 0.9812865]
这是我的代码。
lines = open("file.txt", "r").readlines()
outfile = open("file2.txt",'w+')
lines = [x.split() for x in lines]
lines.sort(key=lambda x:x[5], reverse=True)
for i in lines:
outfile.writelines(i)
我想要的输出应该是:
NP_001026855.1 N 1 YES 96.4765% 0.9823825
NP_597716.1 D 1 YES 96.2573% 0.9812865
谢谢大家的帮助。
1 个回答
9
每个lines
里的元素其实都是一个数组。你可以试试:
for i in lines:
outfile.write(" ".join(i) + "\n")
.join()
这个方法会把一个数组i
里的所有元素用空格" "
连接起来。然后,它会加上一个换行符"\n"
,这样你的输出就会分成不同的行。
另外,你甚至不需要保存所有分开的行的副本:
lines = open("file.txt", "r").readlines()
outfile = open("file.2txt", "w")
lines.sort(key=lambda x: x.split()[5], reverse=True)
for i in lines:
outfile.write(i)