使用Python / Pandas使用JSON嵌套在JSON中

时间:2016-01-28 19:05:49

标签: python json python-3.x pandas

我正在尝试使用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加载它时,仪器,粒度和蜡烛将作为列标题处理。但是,我想使用 time,openMid,highMid,lowMid,closeMid,volume和complete 来创建我的列。但它们只是作为蜡烛的归属处理。有关如何实现这一目标的任何想法?谢谢

1 个答案:

答案 0 :(得分:1)

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

import json
data = json.loads(string)

然后你可以从结果字典中提取蜡烛数据并以这种方式构建你的DataFrame,例如:

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