python - 如何将这种类型的带有字典的列表转换为 csv 文件?
问题描述
我有一个如下列表:
'jose-123': {'name': 'alex','age': '30', 'weight': 190},
'jose-124': {'name': 'mark','age: '20','weight': 180},
'jose-126': {'name': 'mark','age: '20','weight': 180},
'jose-125': {'name': 'mike','age': '50','weight': 49}
我想用 python 将其转换为 CSV 文件,如下所示:
单元 | 姓名 | 年龄 | 重量 |
---|---|---|---|
何塞-123 | 亚历克斯 | 30 | 190 |
何塞-124 | 标记 | 20 | 180 |
何塞-126 | 标记 | 20 | 180 |
何塞-125 | 麦克风 | 50 | 49 |
解决方案
如果您的原始数据确实是您在问题中显示的方式,那么您可以将所述字符串包裹在外大括号中。
import ast
import pandas as pd
raw = """\
'jose-123': {'name': 'alex','age': '30', 'weight': 190},
'jose-124': {'name': 'mark','age': '20','weight': 180},
'jose-126': {'name': 'mark','age': '20','weight': 180},
'jose-125': {'name': 'mike','age': '50','weight': 49}
"""
some_string = f"{{{raw}}}" # wrap in braces {}
d = ast.literal_eval(some_string)
temp = []
for k, v in d.items():
a = {'unit': k}
a.update(v)
temp.append(a)
df = pd.DataFrame(temp)
print(df)
推荐阅读
- spring-boot - 如何在 teiid 中重新加载元数据
- javascript - 如何将电子表格中的所有数据捕获到谷歌表单
- go - 通过cgroup方式杀死Go程序时如何收集堆信息?
- javascript - 如何在提交表单并在 Jquery 中加载新页面后检查元素?
- angular - 使用非离子原生科尔多瓦插件
- r - 在 R 中使用 ggplotly 在 barplot 上添加文本标签
- php - 发生数据库错误的表不存在
- c++ - 使用winapi函数生成密钥时数据泄漏
- angular - 在 Angular 8 中创建动态文本框并在表单提交时将值绑定到组件
- mysql - 使用正则表达式在表行中查找匹配的子字符串