首页 > 解决方案 > 将对象列表转换为 Pandas 数据框

问题描述

我有 JSON 对象列表,其中包含列表和字典。我想为每个级别的每个休假属性创建列并创建一个 Pandas 数据框。我玩了几个小时,想出了一个原始的方法。


我的初始 JSON 对象如下所示:

[
{
    "first_seq": 3329651855,
    "out": {
        "flags": "S",
        "first_window_size": 29200,
        "opt_len": 20,
        "opts": [
            {
                "mss": 1460
            },
            {
                "sackp": null
            },
            {
                "ts": {
                    "val": 1211987020,
                    "ecr": 0
                }
            },
            {
                "noop": null
            },
            {
                "ws": 7
            }
        ]
    },
    "in": {
        "flags": "SA",
        "first_window_size": 26847,
        "opt_len": 20,
        "opts": [
            {
                "mss": 1460
            },
            {
                "sackp": null
            },
            {
                "ts": {
                    "val": 3518874230,
                    "ecr": 1211987020
                }
            },
            {
                "noop": null
            },
            {
                "ws": 7
            }
        ]
    }
},
{
    "first_seq": 3329651855,
    "out": {
        "flags": "S",
        "first_window_size": 29200,
        "opt_len": 20,
        "opts": [
            {
                "mss": 1460
            },
            {
                "sackp": null
            },
            {
                "ts": {
                    "val": 1211987020,
                    "ecr": 0
                }
            },
            {
                "noop": null
            },
            {
                "ws": 7
            }
        ]
    },
    "in": {
        "flags": "SA",
        "first_window_size": 26847,
        "opt_len": 20,
        "opts": [
            {
                "mss": 1460
            },
            {
                "sackp": null
            },
            {
                "ts": {
                    "val": 3518874230,
                    "ecr": 1211987020
                }
            },
            {
                "noop": null
            },
            {
                "ws": 7
            }
        ]
    }
}
]

我想创建以下列:


我相信有一种简单的方法可以实现这一点,而不是复制代码。感谢您帮助编写高效的 Python 函数(递归或任何函数)来实现这一点。

标签: pythonlistpandasobjectnested

解决方案


首先,您必须将 json 转换为 csv:-

在这里您可以轻松地将您的 json 转换为 csv

转换为 csv 后,您可以轻松地将文件加载到 pandas。


推荐阅读