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

如何从网站返回的嵌套字典数据生成指定列的Pandas DataFrame?

解决方案:将嵌套JSON转换为Pandas DataFrame

你的JSON数据中,stats字段正是包含date和count数据的字典列表,直接基于这个列表构造DataFrame即可快速实现目标,也可以用正确的方式调用pd.json_normalize()完成转换。

方法1:直接构造DataFrame(最简洁)

直接提取root['stats']传入pd.DataFrame(),再按需重命名列即可:

import requests
import pandas as pd

search_url = 'https://data.europa.eu/api/hub/statistics/data/num-datasets'
response = requests.get(search_url)
root = response.json()

# 从stats列表生成DataFrame
df = pd.DataFrame(root['stats'])
# 重命名列以匹配需求(date→Date,count→Count)
df = df.rename(columns={'date': 'Date', 'count': 'Count'})

print(df)

方法2:正确使用pd.json_normalize()

之前使用pd.json_normalize()无效,是因为直接传入了顶层字典root,导致stats被当作单列处理。正确做法是传入root['stats']:

import requests
import pandas as pd

search_url = 'https://data.europa.eu/api/hub/statistics/data/num-datasets'
response = requests.get(search_url)
root = response.json()

# 传入stats列表进行标准化
df = pd.json_normalize(root['stats'])
# 重命名列
df = df.rename(columns={'date': 'Date', 'count': 'Count'})

print(df)

两种方法最终都会生成包含Date和Count两列的DataFrame,满足你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 02:25:42