【发布时间】:2017-10-12 09:01:11
【问题描述】:
刚开始接触 python 编程,我只是了解列表和字典。但现在我已经超出了我的深度,我的 google-fu 让我失望了。
我写了一个从 csv 文件中读取分数的小程序
def main():
with open('test_data.csv') as csvfile:
reader = csv.DictReader(csvfile)
test_database = []
for row in reader:
test_database.append(dict(username=row['username'],
subject=row['subject'],
dificulty=row['dificulty'],
answers=row['answers'],
questions=row['questions'],
percentage=row['percentage'],
grade=row['grade']))
csvfile.close()
print(test_database)
它使用以下 csv 文件 test_data.csv
username,subject,dificulty,answers,questions,percentage,grade
ian47,History,Hard,1,5,20.0,D
ian47,Computer Science,Medium,5,5,75.0,B
并生成以下数据
[{'username': 'ian47', 'dificulty': 'Hard', 'questions': '5', 'grade': 'D', 'percentage': '20.0', 'answers': '1', 'subject': 'History'}, {'username': 'ian47', 'dificulty': 'Medium', 'questions': '5', 'grade': 'B', 'percentage': '75.0', 'answers': '5', 'subject': 'Computer Science'}]
我的问题是如何处理这些数据的最佳方式,我真的很喜欢它格式化数据并使其易于理解的方式,但现在我在检索和处理这些数据时遇到了困难。
我希望做以下事情:-
- 显示一个人的所有结果
- 显示每个科目每个难度一个人的最高/最低/平均分数
- 显示每个科目的最高分和获得它的人
如果有人可以帮助并为我指出其中一两个问题的正确方向,我相信我将能够解决剩下的问题
【问题讨论】:
标签: python-3.x list dictionary