首页 > 解决方案 > 如何将嵌套字典导出为 csv 并将其格式化为列和行?

问题描述

我试图搜索我的问题,但我找不到任何与 closley 相关的东西,所以我决定把我的问题放在这里。我对 Python 还很陌生,还在学习这种语言,所以如果我没有抓住明显的东西,请原谅我。

目前我正在尝试通过beautifulsoup 从一些转换为.xml 文件的字母中提取数据。那些提取的数据 - 我将它们放入嵌套字典中。我想要完成的是一个包含所有这些数据的 csv 文件。

我有一个这样的嵌套字典:

dict = [
 {"id":"0", "foundPersons" : ["Smith, Bernhard","Jackson, Andrew","Dalton, Henry"], "sendfrom" : "Calahan, Agnes"}, 
 {"id":"1", "foundPersons" : ["Cutter, John","Ryan, Jack"], "sendfrom" : "Enrico, Giovanni"}
 {"id":"2", "foundPersons" : "Grady, Horace", "sendfrom" : "Calahan, Agnes"}
]

我想要 ID、foundPersons 和 sendfrom 作为每列的标题。然后在 ID 标题下方,我希望将每个单元格中的每个 ID,一个 ID 的每个 foundPerson 放入一个单元格(这意味着 ID0 的这 3 个名称在一个单元格中)等等。

我通过使用 csv 模块进行了尝试,但我不知道如何实现这一点。有人可以给我一个提示吗?或者是否有任何其他模块/库可以帮助我?

标签: pythonpython-3.x

解决方案


你想在这里使用 pandas 库。

import pandas as pd

data = pd.DataFrame.from_dict(dict)
data.to_csv('output.csv')

print(data)

您的数据现在被组织成列和行。


推荐阅读