【问题标题】:Complicated JSON to Pandas Dataframe复杂的 JSON 到 Pandas 数据框
【发布时间】:2023-03-11 13:54:01
【问题描述】:

我的 json 结构有点复杂

[
    {
        "name": "iphone 6",
        "vol": 1600,
        "keywords": [
            {
                "positions": [
                    {
                        "date": "2020-06-18",
                        "pos": 25,
                        "change": 0,
                        "price": 0,
                        "is_map": 0,
                        "map_position": 0,
                        "paid_position": 0
                    },
                    {
                        "date": "2020-06-19",
                        "pos": 28,
                        "change": -3,
                        "price": 0,
                        "is_map": 0,
                        "map_position": 0,
                        "paid_position": 0
                    }
            }
        ]
    }
]

我想将此 json 数据转换为具有以下格式的 pandas 数据帧

Keyword Name | Volume | Date 1 | Date 2 | Date 3 | ... | Date N
iphone 6     | 1600   | 25     | 28     | 29     | ... | Pos at Date N

我可以想到一种非常复杂且耗时的方法来做到这一点,但我想有一种快速的方法来做到这一点,我在 StackOverflow 上找不到类似的例子。有人能帮忙吗?

【问题讨论】:

    标签: python json python-3.x pandas dataframe


    【解决方案1】:

    如果results 是你的json(字典):

    rows = []
    for item in result:
        row = {
            'Keyword Name': item['name'],
            'Volume': item['vol']
        }
        for idx, pos in enumerate(item['keywords'][0]['positions'], 1):        
            row[f"Date {idx}"] = pos["pos"]
        rows.append(row)
    pd.DataFrame(rows)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-30
      • 1970-01-01
      • 1970-01-01
      • 2018-05-01
      • 1970-01-01
      • 2019-08-16
      • 2017-05-14
      • 1970-01-01
      相关资源
      最近更新 更多