假设字典可以有不同的键,如何在Python中将字典列表转换为CSV格式?

假设字典可以有不同的键,如何在Python中将字典列表转换为CSV格式?,python,sql,csv,dictionary,key,Python,Sql,Csv,Dictionary,Key,我有一个这样的字典列表: [ {'item1':'bla', 'item2':'bli', 'item3':'blu'}, {'item1':'love', 'item3':'python'} ] 注意,dict 2没有键“item2”。 我希望生成csv输出,这样我就可以将所有内容插入到SQL表中: item1,item2,item3 bla,bli,blu love,,python 如果所有字典共享相同的键,我找到了一种简单的方法来实现这一点,但如果不是这样,我看不出如何优雅地做到这一点

我有一个这样的字典列表:

[
{'item1':'bla', 'item2':'bli', 'item3':'blu'},
{'item1':'love', 'item3':'python'}
]
注意,dict 2没有键“item2”。 我希望生成csv输出,这样我就可以将所有内容插入到SQL表中:

item1,item2,item3
bla,bli,blu
love,,python
如果所有字典共享相同的键,我找到了一种简单的方法来实现这一点,但如果不是这样,我看不出如何优雅地做到这一点。

字段名和
restval
参数一起使用。

类似

#Create a master list of keys
allKeys = ()
for row in YourListHere:
    allKeys.union(row.keys())

#Sort the keys
allKeys = list(allKeys).sorted()

#Go through printing the rows
for row in YourListHere:
    values = []
    for key in allKeys:
        #Add the values if it exists, if no key in this row add a blank
        if key in row:
            values.append(row[key])
        else:
            values.append('')
    print ','.join(values)

csv.DictWriter
为您做这件事时,您为什么要自己做呢?请看我的答案。可能只是因为我提供了示例代码。您的答案需要查找语法。我还没有使用csv库,但它看起来可能是一个很好的解决方案。我还想查看数据,而不是直接编写文件。但在未来,当我对自己的工作更有信心时,我相信我会使用你的解决方案。适合你自己,但请记住,在Python世界中,阅读标准库文档并尝试15分钟通常是值得的,花一个小时的编码和许多小时的维护。