python - 如何将嵌套字典导出为 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 模块进行了尝试,但我不知道如何实现这一点。有人可以给我一个提示吗?或者是否有任何其他模块/库可以帮助我?
解决方案
你想在这里使用 pandas 库。
import pandas as pd
data = pd.DataFrame.from_dict(dict)
data.to_csv('output.csv')
print(data)
您的数据现在被组织成列和行。
推荐阅读
- python - 读取 zip 中的所有 csv 文件,并将相应的 csv 文件名作为数据帧变量名
- datagrid - 为 Blazorise DataGrid 提交时未调用更新方法 RowInserted
- react-native - onNotification 方法被调用,但通知未出现在通知列表中
- sql - 在 oracle 中如何在日期字段上减去四个小时并显示毫秒
- python - __eq__() 在嵌套数据结构中被调用多次而不是一次
- c++ - C++ shellapi 在系统托盘中显示图标
- vue.js - Vue:添加路由器链接后页面不显示
- python - 从 API 数据制作数据框时遇到问题
- javascript - Vue JS - 在不知道其名称的情况下循环嵌套对象
- python - 如何在 Python 中确定所需的 REST Get 请求格式