将字典添加到python列表中

将字典添加到python列表中,python,csv,dictionary,Python,Csv,Dictionary,我是python新手,我正在尝试创建一个csv解析脚本。 我将csv中的行传递给列表,但目前困扰我的是,我需要在每个项目中添加第一个标题行作为字典 def parse_csv(datafile): data = [] with open(datafile, "r") as f: next(f) #skip headerline for line in f: splitLine = line.strip(',')

我是python新手,我正在尝试创建一个csv解析脚本。 我将csv中的行传递给列表,但目前困扰我的是,我需要在每个项目中添加第一个标题行作为字典

def parse_csv(datafile):     
    data = []
    with open(datafile, "r") as f: 
        next(f) #skip headerline
        for line in f:
            splitLine = line.strip(',') 
            rowL = splitLine.rstrip('\n') #remove the newline char
            data.append(rowL)
        pprint(data)

    return data
如果第一个标题行有字典,例如标题、名称等,我将如何传递到每个剥离元素

e、 g{'Dict1':'data1','Dict2':'data2'}


这可能被认为是重复的,但从类似的帖子中尝试了各种方法,但没有一种在我的案例中正常工作。

我强烈建议使用提供的csv库。它将为您节省大量的时间和精力。以下是您想要做的:

import csv
data = []
with open(datafile, 'r') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        data.append(row)
        print(row['Title'], row['Name'])

在本例中,每一行实际上都是一个python字典。

@GeorgiDimitrov当然正确,正确的方法是使用标准库中的csv模块,但是,如果您这样做只是为了自我指导,那么…:

def parse_csv(datafile):     
    data = []
    with open(datafile, "r") as f: 
        headers = next(f).split(',')
        for line in f:
            splitLine = line.split(',') 
            dd = dict(zip(headers,splitLine))
            data.append(dd
    pprint(data)

return data
这将无法正确处理引号/转义逗号和c-所有微妙之处,最好留给csv模块:-.

您是说line.split','?你能说得更准确些吗?我不明白实际的问题。