首页 > 解决方案 > Python:从 json/dictionary 创建 csv

问题描述

我有以下需要转换为 csv 的数据:

 "tfeOrganizations": [
        {
            "org": "MyOrg1",
            "org_admins": [
                "foo@bar.com", "foo2@bar2.com"
            ],
            "org_viewers": [
                "foo3@bar3.com","foo4@bar4.com"
            ],
            "teams": {
                "genericresources-admins": {
                    "ci_cd_token_regenerate": False,
                    "members": ["firstUser@test.com", "secondUser@test.com"],
                    "workspaces": [
                        [
                            "genericresources-dev",
                            "write"
                        ],
                        [
                            "genericresources-qa",
                            "write"
                        ],
                        [
                            "genericresources-prod",
                            "write"
                        ]
                    ]
                 },
                 "genericresources-contributors": {
                    "ci_cd_token_regenerate": False,
                    "members": ["thirdUser@test.com", "forthUser@test.com", "fithUser@test.com"],
                    "workspaces": [
                        [
                            "genericresources-dev",
                            "write"
                        ],
                        [
                            "genericresources-qa",
                            "write"
                        ],
                        [
                            "genericresources-prod",
                            "plan"
                        ]
                    ]
                }
            },
            "workspaces": [
                "genericresources-dev",
                "genericresources-qa",
                "genericresources-prod"
            ]
        }
    ]

结果应该是这样的,而标题是根据所有组织中成员的最长数组动态构建的。

organisation,workspace,org_admin1,org_admin2,org_viewer1,org_viewer2,member1,member2,member3,...

MyOrg1,genericresources-dev,foo@bar.com,foo2@bar2.com,foo3@bar3.com,foo4@bar4.com,firstUser@test,sendUser@test.com,...

MyOrg1,genericresources-qa,foo@bar.com,foo2@bar2.com,foo3@bar3.com,foo4@bar4.com,firstUser@test,sendUser@test.com,...

MyOrg1,genericresources-prod,foo@bar.com,foo2@bar2.com,foo3@bar3.com,foo4@bar4.com,firstUser@test,sendUser@test.com,...

目前我不知道如何解决这个问题。

标签: pythonjsonpython-3.xcsvdictionary

解决方案


你可以用熊猫创作

例子

import pandas as pd

# access your json file
your_json = data['tfeOrganizations']


data_frame = pd.DataFrame(your_json)


data_frame.to_csv('result.csv',data_frame)


推荐阅读