
本文介绍如何适配 oecd 已迁移至 sdmx.oecd.org 的新版统计 api,解决 pdmx 库默认仍指向旧 stats.oecd.org 域名的问题,并提供直接 http 请求 csv 和正确配置 pdmx 的两种可靠方案。
本文介绍如何适配 oecd 已迁移至 sdmx.oecd.org 的新版统计 api,解决 pdmx 库默认仍指向旧 stats.oecd.org 域名的问题,并提供直接 http 请求 csv 和正确配置 pdmx 的两种可靠方案。
OECD 自 2023 年起已将 SDMX 数据服务全面迁移到新域名:https://www.php.cn/link/90d5b3b7169fe2778c70337390510722public/rest/data/,而 pdmx(Python SDMX 客户端)默认仍尝试访问旧地址 https://stats.oecd.org/SDMX-JSON/data/,导致请求失败或返回 404。根本原因在于 pdmx.Request("OECD") 使用的是内置的预设 OECD 配置(含过时 base URL),需显式覆盖。
✅ 推荐方案一:绕过 pdmx,直接读取 CSV(简洁高效)
OECD 新 API 支持 format=csvfilewithlabels 参数,可直接返回带列名的 CSV,适合快速分析:
import pandas as pd url = "https://www.php.cn/link/90d5b3b7169fe2778c70337390510722public/rest/data/OECD.SDD.STES,DSD_STES@DF_CLI/.M.LI...AA...H?startPeriod=2023-02&dimensionAtObservation=AllDimensions&format=csvfilewithlabels" df = pd.read_csv(url) print(df.head())
✅ 优势:无需依赖 pdmx,避免认证与 URL 重定向问题;CSV 格式开箱即用,列名语义清晰。
⚠️ 注意:确保 URL 中的 resource_id(如 OECD.SDD.STES,DSD_STES@DF_CLI)和 key(如 .M.LI...AA...H)符合 OECD SDMX 数据集文档 规范;startPeriod 支持 YYYY-MM(月度)或 YYYY-Qn(季度)格式。
✅ 推荐方案二:正确配置 pdmx 指向新 endpoint
若需保留 pdmx 的结构化解析能力(如自动处理维度、时间序列元数据),需手动指定新版 base URL:
import pandas as pd
import pandasdmx as pdmx
# 显式传入新版 OECD endpoint
oecd = pdmx.Request(
source="OECD",
url="https://www.php.cn/link/90d5b3b7169fe2778c70337390510722public/rest/"
)
data = oecd.data(
resource_id="OECD.SDD.NAD,DSD_HHDASH@DF_HHDASH_CTRY,1.0",
key="Q.DEU..?startPeriod=2021-Q3&dimensionAtObservation=AllDimensions"
).to_pandas()
df = data.reset_index() # 转为标准 DataFrame
? 关键点:
- url 参数必须以 /public/rest/ 结尾(非 /public/rest/data/),因 pdmx 会自动拼接 /data/ 路径;
- resource_id 格式为 AGENCY_ID.DATASET_ID@FLOW_ID,VERSION,可通过 OECD SDMX Browser 查找;
- key 中省略 startTime/endTime,改用 startPeriod/endPeriod(推荐),更兼容新版。
? 总结与建议
- 优先使用 CSV 方案:对大多数数据分析场景而言,pd.read_csv(url) 更稳定、响应更快,且规避了 pdmx 的版本兼容性风险;
- 调试技巧:将构造好的 URL 粘贴至浏览器,确认返回有效 CSV 或 JSON,再集成到代码中;
- 资源定位:所有新版数据集 ID 与维度说明请查阅官方 SDMX REST API 文档 及 OECD Data Portal;
- 未来兼容性:OECD 明确表示旧 stats.oecd.org/SDMX-JSON 将逐步停用,务必迁移至 sdmx.oecd.org。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











