用户的名字和他们在测验中的分数被输入到一个csv文件中。我想按字母顺序对用户的名字进行排序,但是我不知道怎么做。提前谢谢。下面是我的代码片段。在
userName=input('Please enter your full name: ').title()
newrecord = "{user_name},{score_1},{score_2},{score_3}\n".format(user_name=userName, score_1=quiz_scores[0], score_2=quiz_scores[1], score_3=quiz_scores[2])
classa = input("What class are you in? ")
if classa =='1':
file=open('classroom1.csv', "a+")
file.write(newrecord)
file.close()
with open('classroom1.csv') as csvfile:
readCSV = csv.reader(csvfile)
为什么不用熊猫呢?在
应该会处理好的。在
我假设给定一个包含用户名和测验分数的csv文件,您希望读取csv文件,然后根据用户名进行排序。您的问题(我相信)是每次从csv文件中读取时,都会得到一个表单
[user_name, score1, score2, score3]
的列表。在如果是这样,为什么不将每个这样的列表存储在字典中,使用用户名作为键,然后对字典键进行排序-即
现在,您可以按排序顺序访问记录:
^{pr2}$=======================================================
嗯,嗯。。。很奇怪这对你没用。我做了一个像你描述的虚拟文件,这是对我有用的:
我的csv.txt文件文件是:
这里唯一的问题是你需要确保“harry”行不是以
\n
结尾,否则csv阅读器将读取一个空行,它将在sorting_dict[curr_elem[0]] = curr_elem
处抛出一个错误,但是你可以很容易地防范这一点。在考虑使用
list.sort()
函数,方法是将csv数据追加到列表中,然后使用定义的函数按first element对其进行排序。由于Python默认为嵌套列表中的第一个元素,因此可能不需要该函数,因此可以省略key
参数:相关问题 更多 >
编程相关推荐