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

如何解析Python API提取的数据并转换为Pandas DataFrame?

将API提取的数据转换为Pandas DataFrame

你的代码已经完成了从API获取字节数据的步骤,接下来可以通过以下步骤将数据转换为实用的Pandas DataFrame:

1. 解析字节数据为JSON结构

该API返回的是JSON格式数据,需要先把读取到的字节数据解码为字符串,再解析成Python字典:

import json
# 解码字节数据为UTF-8字符串并解析为JSON对象
data = json.loads(s.decode('utf-8'))

2. 定位有效数据字段

香港统计处的这类API,实际数据通常嵌套在dataset字段下的子节点中。你可以先打印数据结构确认路径:

# 查看顶层键
print(data.keys())
# 进一步查看dataset内部结构
print(data['dataset'].keys())

3. 转换为DataFrame

确认有效数据路径后,直接用Pandas转换。针对这个特定API,数据存放在data['dataset']['data']中:

import pandas as pd
df = pd.DataFrame(data['dataset']['data'])

完整整合代码

把所有步骤整合后的完整代码如下:

import urllib.request
import json
import pandas as pd

url_path = "https://www.censtatd.gov.hk/api/get.php?id=660-69001&lang=en&param=N4KABGBEDGBukC4yghSBJAcgEUWA2uKmgJYB2AJgPoCKAQgErpUDK6kANEcZOdfU1a4uxUpSoAWAKyduqXuIkA2WaKh9JAdlWiF-RswkBOKlIAMpgIymATDZ08Nxh-I0DmAdQAqLsfsEAgj4iuhpSNpa+6uJSAMz2IY4xMomuMSqpflQAUlF6VEqRmdHUUkZFcllKEpY2BTWxeRrVEvUmSoUFSo3F+e5UAGIBTeL9ASwj1EpSXQmVJbQGVAAyk1QAsmuYa-1eAPI7SwDCB3IAukQAviGQAM7wSCjyBniEapAMAIYA7lSWFAAHKgkCgADyoZEg5yuNwBAFMAE4kAD2FDwTzQtwALp8EVi8JAbGYzOZIjCiLw0UhIB0zABaJRGYkVNAAG0+ZAA5gS4ZCQJcgA"

with urllib.request.urlopen(url_path) as url:
    s = url.read()

# 解析JSON
data = json.loads(s.decode('utf-8'))
# 转换为DataFrame
df = pd.DataFrame(data['dataset']['data'])

# 查看数据前5行
print(df.head())

额外优化提示

如果数据存在多层嵌套,可以用pd.json_normalize()扁平化结构:

df = pd.json_normalize(data['dataset']['data'])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 12:07:46