需要从csv excel文件创build字典的帮助

我有一个任务来创build一个函数loadResults,其中存储了跑步者的数量,时间,姓名和姓氏,并返回包含该信息的字典列表。 字典的键是:“数字”,“名称”,“姓氏”,“时间”。 到目前为止我有:

def loadResults(): myFile = open("marathon.csv", "r") number = [] for line in myFile: info = line.split(',') s = {} s['number'] = info[0] s['time'] = info[1] s['firstname'] = info[2] s['surname'] = info[3:] number.append(s) myFile.close return number 

然而,我还必须编写一个函数displayTime接收跑步者名单和跑步者的数量,并显示名字和时间。 对于我有:

 def displayTime(time,number,firstname): for s in number: if s['number'] == time: print(s['name']) runners = loadResults() displayTime(number,'3070') 

不幸的是,我没有得到任何帮助将不胜感激。

你可以使用csv.DictReader

 import csv with open('your_file') as csvfile: reader = csv.DictReader(csvfile) 

那么reader就是字典。

如果csv文件在第一行没有键,则可以使用fieldnames

 import csv with open('your_file') as csvfile: reader = csv.DictReader(csvfile, fieldnames=['number', 'name', 'surname', 'time'])