如何在Python中对行中的文本文件进行排序
问题描述:
我想知道如何在Python中输出文本文件时按升序对数字进行排序。如何在Python中对行中的文本文件进行排序
目前我可以按字母顺序排列我的文本文件的名称;我可以按照升序对我的数字进行排序,但是我想保留与同一行中的学生相对应的分数。
import operator
class1 = open('sample.txt','r')
sort = sorted(class1,key=operator.itemgetter(0))
for eachline in sort:
print(eachline)
这是迄今为止代码和输出是这样的:
Holy = 10 ,6 ,10
Jhnn = 9 ,0 ,1
Oli = 5 ,7 ,6
但是,你会怎么数量进行排序,以便它看起来像这样:
Holy = 6 ,10 ,10
Jhnn = 0 ,1 ,9
Oli = 5 ,6 ,7
答
试试这个:
for eachline in sort:
line = map(int, eachline.split(","))
sorted_line = sorted(line)
print(" ,".join(map(str, sorted_line)))
我们可以在第e逗号并将其映射到整数列表。然后,我们对该列表进行排序并将其加回到逗号分隔的整数字符串中。
好,你要打印的文本行,所以第一件事是查看是否元素是整数,然后对其进行排序 – Mixone
阅读我的意思是对不起 – Mixone
感谢您的帮助,我会尝试, – polihero