You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python解析复杂字典数据:API返回结果格式化问题求助

问题详情

我是编程新手,已经花了好几天处理这个问题。我从API拿到响应数据,想重新格式化让它更易读,也方便后续代码调用。

当前代码

import requests
import pandas
for item in items: #item is defined previously in the code
    response = request.get(url, parameters={put stuff here}, headers={more stuff here})
    json_response = response.json()
    print(item)
    print(json_response)

当前输出

item1
{'series':{'data':[{'keyA':'value1', 'keyB':'value2', 'keyC':'value3'}, {'keyA':'value4', 'keyB':'value5', 'keyC':'value6'}, {'keyA':'value7', 'keyB':'value8', 'keyC':'value9'}]}}
item2
{'series':{'data':[{'keyA':'value10', 'keyB':'value11', 'keyC':'value12'}, {'keyA':'value13', 'keyB':'value14', 'keyC':'value15'}, {'keyA':'value16', 'keyB':'value17', 'keyC':'value18'}]}}

(注:修正了原输出中的语法错误,比如'keyB:value2缺少闭合引号)

期望输出

item1
keyA        keyB         keyC
value1     value2       value3
value4     value5       value6
value7     value8       value9

item2
keyA         keyB          keyC
value10     value11       value12
value13     value14       value15
value16     value17       value18

我试过不少pandas和numpy的代码,但都报一堆错,求帮忙解决。


解决方案

用pandas把JSON数据转成DataFrame就能轻松实现你要的格式,而且DataFrame本身也方便后续代码处理。修改后的代码如下:

import requests
import pandas as pd

for item in items:  # item is defined previously in the code
    # 修正拼写错误:request → requests
    response = requests.get(url, parameters={put stuff here}, headers={more stuff here})
    json_response = response.json()
    # 提取data列表
    data = json_response['series']['data']
    # 转成DataFrame
    df = pd.DataFrame(data)
    # 打印item名称
    print(item)
    # 格式化输出:去掉索引,设置列宽保证对齐
    print(df.to_string(index=False, col_space=12))
    # 空行分隔不同item的结果
    print()

关键说明

  1. 原代码有两个低级错误:request.get应该是requests.get,还有缩进不规范,已经修正。
  2. pd.DataFrame(data)会自动把字典列表转换成带列名的表格,列名就是你要的keyA、keyB、keyC。
  3. to_string(index=False, col_space=12)用来隐藏行索引,同时给每列分配足够宽度,确保输出对齐整齐,完全匹配你的期望格式。
  4. 最后的print()用来分隔不同item的输出,避免内容挤在一起。

如果还是报错,先检查API返回的json_response结构是否和你提供的示例一致,或者确认items、url等变量是否正确定义。


内容的提问来源于stack exchange,提问作者cptjack345

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 16:05:28