使用Python/Pandas处理JSON中嵌套的JSON

2024-06-07 04:05:37 发布

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

我正在尝试使用python加载JSON数据,但是,它看起来是这样的:

{
    "instrument" : "EUR_USD",
    "granularity" : "D",
    "candles" : [
        {
            "time" : "2014-07-02T04:00:00.000000Z", // time in RFC3339 format
            "openMid" : 1.36803,
            "highMid" : 1.368125,
            "lowMid" : 1.364275,
            "closeMid" : 1.365315,
            "volume" : 28242,
            "complete" : true
        },
        {
            "time" : "2014-07-03T04:00:00.000000Z", // time in RFC3339 format
            "openMid" : 1.36532,
            "highMid" : 1.366445,
            "lowMid" : 1.35963,
            "closeMid" : 1.3613,
            "volume" : 30487,
            "complete" : false
        }
    ]
}

我的问题是,当我使用Pandas加载它时,instrument、granularity和candles被处理为列标题。但是,我想使用time、openMid、highMid、lowMid、closeMid、volume和complete来创建我的列。但它们只是被加工成蜡烛的一部分。有什么办法可以做到这一点吗?谢谢


Tags: 数据injsonformattimecompletevolumeinstrument
1条回答
网友
1楼 · 发布于 2024-06-07 04:05:37

您必须首先使用json库读取字符串:

import json
data = json.loads(string)

然后您可以从生成的字典中提取蜡烛数据,并以这种方式构建数据帧,例如:

candles_data = data.pop('candles')
df = pd.DataFrame(candles_data)
for k, v in data.iteritems():
    df[k] = v

相关问题 更多 >