You need to enable JavaScript to run this app. 使用pandas从REST API读取JSON后如何正确用to_csv导出表格数据
优惠活动
大模型
产品
解决方案
定价
更多

使用pandas从REST API读取JSON后如何正确用to_csv导出表格数据

问题核心原因

你现有代码无法自动生成字段列的根源,是没有适配目标接口的嵌套返回结构。该接口返回的JSON不是直接的员工列表,而是带顶层字段的嵌套对象:顶层包含status状态标识和data明细列表两个键,真正的员工数据是嵌套在data字段下的字典列表。直接调用pd.read_json()拉取时,pandas只会把顶层的两个键识别为表格列,完全不会展开嵌套在data里的员工明细字段,自然无法自动生成你需要的列头。

正确实现方案

核心思路是先把嵌套在data字段下的员工明细列表提取出来,再交给pandas解析,即可自动识别所有员工字段生成对应列,不需要手动指定列名:

  • 拉取接口的原始JSON响应,解析为Python字典结构
  • 取出字典中data键对应的员工列表,传入pandas生成DataFrame,过程中pandas会自动扫描列表内每个员工对象的键名,生成employee_name、employee_salary、employee_age、profile_image这些列头
  • 以制表符为分隔符导出文本文件,关闭行索引输出,即可完全匹配你期望的格式

对应实现代码:

import pandas as pd
import requests

# 拉取接口原始响应
resp = requests.get("http://dummy.restapiexample.com/api/v1/employees")
json_content = resp.json()

# 提取嵌套的员工数据,自动识别字段列
employee_df = pd.DataFrame(json_content["data"])

# 制表符分隔导出,不保留行索引
employee_df.to_csv("try.txt", sep="\t", index=False)

无额外依赖的替代写法:如果不想安装requests库,也可以直接用pandas读取接口后手动拆解嵌套结构,效果完全一致

import pandas as pd
# 读取接口返回的全量嵌套结构
full_result = pd.read_json("http://dummy.restapiexample.com/api/v1/employees")
# 拆解data列的嵌套字典,重新生成平铺的员工表
employee_df = pd.DataFrame(full_result["data"].tolist())
employee_df.to_csv("try.txt", sep="\t", index=False)

导出后的文件第一行就是自动生成的标准列头,后续每行对应一条员工数据,空的profile_image字段会自动保留为空值,和你示例中的制表分隔表格格式完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.26 01:54:07