【问题标题】:Working with JSON Nested in JSON Using Python/Pandas使用 Python/Pandas 处理嵌套在 JSON 中的 JSON
【发布时间】:2016-05-06 07:46:15
【问题描述】:

我正在尝试使用 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 来创建我的列。但它们只是作为蜡烛的一部分处理。关于我如何做到这一点的任何想法?谢谢

【问题讨论】:

    标签: python json python-3.x pandas


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2014-04-15
      • 1970-01-01
      • 2020-12-14
      • 1970-01-01
      • 2020-01-04
      • 2020-12-02
      • 2018-05-29
      • 2015-10-19
      • 2015-08-02
      相关资源
      最近更新 更多