繁体   English   中英

如何将这种类型的带有字典的列表转换为 csv 文件?

[英]How do I convert this type of list with dictionary into a csv file?

我有一个如下列表:

'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}

我想将其转换为 CSV 文件,其中 python 如下所示:

单元 姓名 年龄 重量
何塞-123 亚历克斯 30 190
何塞-124 标记 20 180
何塞-126 标记 20 180
何塞-125 麦克风 50 49

它看起来好像它的字典,包含子字典。

在这种情况下,您可以轻松地将 go 与 pandas 转换为 DataFrame 使用

df= pd.DataFrame(<YourList>)

然后使用轻松将其转换为 csv

df.to_csv("filename.csv")

如果您的原始数据确实是您在问题中显示的方式,那么您可以将所述字符串包裹在外大括号中。

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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM