Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中将字典的内容附加到列表中?_Python_Python 3.x_Csv_Dictionary - Fatal编程技术网

如何在python中将字典的内容附加到列表中?

如何在python中将字典的内容附加到列表中?,python,python-3.x,csv,dictionary,Python,Python 3.x,Csv,Dictionary,我正在读取一个csv文件filename.csv,我没有得到如下所示的预期结果 [{‘大陆’:‘欧洲’,‘国家’:‘西班牙’,‘首都’:‘马德里’,{‘大陆’:‘欧洲’,‘国家’,‘葡萄牙’,‘首都’:‘里斯本’,{‘大陆’:‘欧洲’,‘国家’:‘英格兰’,‘首都’:‘伦敦’}]将您的声明移动到dict_places循环内: import csv with open('filename.csv') as csv_file: datarow = csv.reader(filename,

我正在读取一个csv文件filename.csv,我没有得到如下所示的预期结果


[{‘大陆’:‘欧洲’,‘国家’:‘西班牙’,‘首都’:‘马德里’,{‘大陆’:‘欧洲’,‘国家’,‘葡萄牙’,‘首都’:‘里斯本’,{‘大陆’:‘欧洲’,‘国家’:‘英格兰’,‘首都’:‘伦敦’}]

将您的声明移动到
dict_places
循环内:

import csv

with open('filename.csv') as csv_file:
    datarow = csv.reader(filename, delimiter=',')
    dict_places = {}
    list_places = []
    for row in datarow:
        dict_places['Continent'] = row[0]
        dict_places['Country'] = row[1]
        dict_places['Capital'] = row[2]
        print(list_places.append(dict_places))

否则,您只需在每次迭代中替换同一个字典中的值,最后得到同一个字典

的列表,就应该考虑使用这个。它将为你做艰苦的工作,并使像这样的错误不太可能发生。您只需传入列名列表:

list_places = []
for row in datarow:
    dict_places = {}
    dict_places['Continent'] = row[0]
    dict_places['Country'] = row[1]
    dict_places['Capital'] = row[2]
    print(list_places.append(dict_places))
印刷品:

import csv
with open(path) as csvfile:
    rows = csv.DictReader(csvfile, ['Continent','Country', 'Capital'])
    list_places = [dict(row) for row in rows]

print(list_places)

[{'Continent': 'Europe', 'Country': 'Spain', 'Capital': 'Madrid'},
 {'Continent': 'Europe', 'Country': 'Portugal', 'Capital': 'Lisbon'}, 
 {'Continent': 'Europe', 'Country': 'England', 'Capital': 'London'}]