我一直在尝试写一个文件,但它一直用逗号和两端的方括号写在一行上。如何在没有方括号,逗号和换行符的情况下为文件的每一行或每行写入文件。第6列必须按降序排列。
这是以下代码的输出:
[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
谢谢你们的贡献。
答案 0 :(得分: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)