我正在try 将JSON转换为数据帧.

API的JSON输出如下:

{
  "code": 0,
  "data": {
    "list": [
      {
        "address": "abcdxyz",
        "name": "Jack",
        "shares": "396",
        "amount": "490",
        "active": true
      },
      {
        "adress": "efghklm",
        "name": "Mary",
        "shares": "789",
        "amount": "890",
        "active": true
      }
    ],
    "page": 1,
    "size": 5,
    "maxPage": 1,
    "totalSize": 2
  }
}

try 时

response = requests.get(url)
json_data = json.loads(response.text)
df = pd.DataFrame(json_data['data'])

它的输出是这样的

   list                   page  size  maxPage  totalSize
0  {'address': 'abcd...    1     5        1          2
1  {'address': 'efgh...    1     5        1          2

我怎样才能达到这样的输出

      address    name  shares  amount active
0     abcdxyz    Jack    396    490    true
1     efghklm    Mary    789    890    true

我试过几种方法,但无法从列表中正确打印.

推荐答案

您只需再深入一层,就可以访问具体的"列表",而不是整个"数据":

response = requests.get(url)
json_data = json.loads(response.text)
df = pd.DataFrame(json_data['data']['list'])

Python相关问答推荐

Pandas实际上如何对基于自定义的索引(integer和非integer)执行索引

时间序列分解

'discord.ext. commanders.cog没有属性监听器'

如何请求使用Python将文件下载到带有登录名的门户网站?

Pandas—合并数据帧,在公共列上保留非空值,在另一列上保留平均值

Python+线程\TrocessPoolExecutor

为一个组的每个子组绘制,

剪切间隔以添加特定日期

从列表中获取n个元素,其中list [i][0]== value''

交替字符串位置的正则表达式

基于Scipy插值法的三次样条系数

如何将数据帧中的timedelta转换为datetime

Gunicorn无法启动Flask应用,因为无法将应用解析为属性名或函数调用.'"'' "

为什么在FastAPI中创建与数据库的连接时需要使用生成器?

使用Python TCP套接字发送整数并使用C#接收—接收正确数据时出错

替换包含Python DataFrame中的值的<;

如何在Django查询集中生成带有值列表的带注释的字段?

了解如何让库认识到我具有所需的依赖项

极地数据帧:ROLING_SUM向前看

以元组为索引的Numpy多维索引