嵌套的json嵌入到csv python的列中

Posted

技术标签:

【中文标题】嵌套的json嵌入到csv python的列中【英文标题】:nested json embeed in a column to csv python 【发布时间】:2021-04-24 19:00:13 【问题描述】:

我正在处理从 mongo 集合中提取并导出为 csv 的数据清理工作。

数据框只有一列,每一行都嵌入了一个巨大的嵌套 json,我试图以多种方式提取特定字段,但似乎没有任何锻炼。

df    :    inputpayload

    "action": "val1",
    "action2": "val12",
    "date": "12012",
    "membership": [
        
            "m1": "00",
            "m2": "001",
            "m3": "003",
            "m4": "005",
            "m5": "006",
            "group": [
                
                    "g1": "a1",
                    "g2": "a2",
                    "g3": "a3",
                    "g4": "a4",
                    "g5": "a5",
                    "g6": "a6",
                    "g7": "a7",
                    "g9": "a10",
                    "data": [
                        
                            "id": "xyz",
                            "code": "0012",
                            "fname": "abc",
                            "lname": "x",
                            "dob": "111280",
                            "sno": "234",
                            "bal": "2.3",
                            "cbal": "9.9"
                        
                    ]
                
            ]
        
    ]



要提取的字段 = ["id","code","fname","dob","sno","bal",""cbal"]

想要的输出数据帧

id   code   fname  dob     sno  bal     cbal
xyz  0012   abc    111280  234  2.3      9.9

我想以更 Python 的方式做到这一点,任何解决方案/输入都将受到高度赞赏。

【问题讨论】:

这有帮助吗:***.com/a/14049001/6660373? 【参考方案1】:

将你的有效载荷设置为 d,然后

pd.DataFrame(d['membership'][0]['group'][0]['data'])


    id  code fname lname     dob  sno  bal cbal
0  xyz  0012   abc     x  111280  234  2.3  9.9

【讨论】:

感谢您的回复,但如何将此逻辑应用于整个数据框 您没有发布数据框。这只是一本字典。如果您可以发布几行数据框,我可以看看。除非您说其中有一列需要转换。

以上是关于嵌套的json嵌入到csv python的列中的主要内容,如果未能解决你的问题,请参考以下文章

使用 Pandas 在巨大的 CSV 中解析带有嵌套值的 JSON 列

如何过滤 json 列中嵌套值的行?

遍历嵌套字典以创建数据框并添加新的列值

解析嵌套的 json 并将其保存在 csv 中

将 json 嵌套到 csv - 通用方法

如何从 Bigquery 中的这个嵌套 JSON 类型列中查询特定的内容