首页 > 解决方案 > Python:对数据框的响应对象

问题描述

我正在尝试将请求响应转换为 pandas 数据框。

到目前为止,我已经把它变成了一个字符串,只是浏览了一下谷歌。我的第一语言在技术上是 python,但是当我学习 python 时,任何 3.X 都是实验性的,所以已经有一段时间了,而且 pandas 完全是另一种野兽。

无论如何,试图把它变成一个数据框,我应该检查任何想法或链接吗?:

下面是一个字符串,而不是字典。我什至尝试

from ast import literal_eval
...
ast.literal_eval(data)

这也不起作用..嗯

{
  "instrument": "EUR_USD",
  "granularity": "S5",
  "candles": [
    {
      "complete": true,
      "volume": 7,
      "time": "2020-07-14T19:33:50.000000000Z",
      "mid": {
        "o": "1.13925",
        "h": "1.13926",
        "l": "1.13922",
        "c": "1.13922"
      }
    },
    {
      "complete": true,
      "volume": 1,
      "time": "2020-07-14T19:33:55.000000000Z",
      "mid": {
        "o": "1.13921",
        "h": "1.13921",
        "l": "1.13921",
        "c": "1.13921"
      }
    },
    {
      "complete": true,
      "volume": 1,
      "time": "2020-07-14T19:34:00.000000000Z",
      "mid": {
        "o": "1.13920",
        "h": "1.13920",
        "l": "1.13920",
        "c": "1.13920"
      }
    },
    {
      "complete": false,
      "volume": 10,
      "time": "2020-07-14T19:34:10.000000000Z",
      "mid": {
        "o": "1.13921",
        "h": "1.13921",
        "l": "1.13916",
        "c": "1.13920"
      }
    }
  ]
}

标签: pythonpandaspython-requests

解决方案


使用pandas模块和其中的DataFrame()功能。

a = {
  "instrument": "EUR_USD",
  "granularity": "S5",
  "candles": [
    {
      "complete": True,
      "volume": 7,
      "time": "2020-07-14T19:33:50.000000000Z",
      "mid": {
        "o": "1.13925",
        "h": "1.13926",
        "l": "1.13922",
        "c": "1.13922"
      }
    },
    {
      "complete": True,
      "volume": 1,
      "time": "2020-07-14T19:33:55.000000000Z",
      "mid": {
        "o": "1.13921",
        "h": "1.13921",
        "l": "1.13921",
        "c": "1.13921"
      }
    },
    {
      "complete": True,
      "volume": 1,
      "time": "2020-07-14T19:34:00.000000000Z",
      "mid": {
        "o": "1.13920",
        "h": "1.13920",
        "l": "1.13920",
        "c": "1.13920"
      }
    },
    {
      "complete": False,
      "volume": 10,
      "time": "2020-07-14T19:34:10.000000000Z",
      "mid": {
        "o": "1.13921",
        "h": "1.13921",
        "l": "1.13916",
        "c": "1.13920"
      }
    }
  ]
}

import pandas as pd
df = pd.DataFrame(a)

推荐阅读