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

时间:2017-11-27 15:36:07

标签: python excel python-3.x csv dictionary

我有一个创建函数loadResults的赋值,其中存储了runner的数量,时间,名称和姓氏,并返回包含此信息的字典列表。字典的键是:“数字”,“名字”,“姓”,“时间”。到目前为止,我有:

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')

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

1 个答案:

答案 0 :(得分:1)

您可以使用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'])