Dict到CSV的Dict,带有定义的头

2024-06-16 15:56:32 发布

您现在位置:Python中文网/ 问答频道 /正文

听话

result = {'Aktie': 'Bayer AG *', 'WKN': 'BAY001', 'Index': 'DAX', 'Branche': 'Chemie / Pharma / Gesundheit', 'RK': '3', 'Link': 'https://www.onvista.de/aktien/Bayer-Aktie-DE000BAY0017', 'Onvistaname': 'Bayer-Aktie-DE000BAY0017', 'Fundamentaldatenlink': 'https://www.onvista.de/aktien/fundamental/Bayer-Aktie-DE000BAY0017', '2019': {'Gewinn pro Aktie': ['  3,02  '], 'KGV': ['  24,06  '], 'Gewinnwachstum': ['  +73,88%  '], 'Dividende in Euro': ['  2,84  '], 'Dividende in Prozent': ['  2,84  ']}, '2020': {'Gewinn pro Aktie': ['  4,75  '], 'KGV': ['  15,31  '], 'Gewinnwachstum': ['  +43,13%  '], 'Dividende in Euro': ['  3,01  '], 'Dividende in Prozent': ['  3,01  ']}, '2021': {'Gewinn pro Aktie': ['  5,18  '], 'KGV': ['  14,04  '], 'Gewinnwachstum': ['  +23,21%  '], 'Dividende in Euro': ['  3,21  '], 'Dividende in Prozent': ['  3,21  ']}, '2022': {'Gewinn pro Aktie': ['  6,79  '], 'KGV': ['  10,71  '], 'Gewinnwachstum': ['  +27,24%  '], 'Dividende in Euro': ['  3,62  '], 'Dividende in Prozent': ['  3,62  ']}}

应导出为csv。你知道吗

我试过这个:

keys = result[0].keys()
with open('people.csv', 'w') as output_file:
    dict_writer = csv.DictWriter(output_file, keys)
    dict_writer.writeheader()
    dict_writer.writerows(result)

结果是一个带有标题的csv

Aktie,  WKN,    Index,  Branche,    RK, Link,   Onvistaname,    Fundamentaldatenlink,   2019,   2020,   2021,   2022

dict应导出为csv,并根据dict的键显示标题 例如:

Aktie,  WKN,    Index,  Branche,    RK, Link,   Onvistaname,    Fundamentaldatenlink, 2019 Gewinn pro Aktie, 2019 KGV [...], 2022 Dividende in Prozent

第一行应该是值。你知道吗

https://www.geeksforgeeks.org/python-nested-dictionary/

输出行标题应该是键的名称(例如2022)和嵌套的键值(例如KGV)

2022 KGV

10,71


Tags: csvinindexresultdictprobayereuro
1条回答
网友
1楼 · 发布于 2024-06-16 15:56:32
from pandas.io.json import json_normalize
json_normalize(result).to_csv("file.csv")

请注意,json\u normalize在pandas中是一个从1.0开始的“顶级”函数,所以可以这样做pd.u规范化当它出来的时候

相关问题 更多 >