OECD 更改了其统计 API。在以前的版本中,此结构有效。
oecd = pdmx.Request("OECD")
data = oecd.data(
resource_id="HH_DASH",
key="AUS+DEU+ITA+JPN+KOR+GBR+USA+EU27_2020+EMU+G7M+OECD.RGDP_INDEX+RHHGDI_INDEX.Q/all?startTime=2007-Q1&endTime=2023-Q1",
).to_pandas()
df = pd.DataFrame(data).reset_index()
如果我使用此
> oecd = pdmx.Request("OECD")
>
> 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 = pd.DataFrame(data).reset_index() df
URL 开头为:
https://stats.oecd.org/SDMX-JSON/data/
而实际的新url 应该是:
https://sdmx.oecd.org/public/rest/data/
我怎样才能让它工作
可以通过修改
pdmx.Request()
函数中的
base_url
参数来更改
pdmx
库使用的基本 URL。
以下是使用新的 OECD API URL 更新后的代码:
import pandas as pd
import pdmx
oecd = pdmx.Request("OECD", base_url="https://sdmx.oecd.org/public/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 = pd.DataFrame(data).reset_index()
print(df)
这将使用新的基本 URL
https://sdmx.oecd.org/public/rest/
向 OECD API 发送请求,从而使能够从修订后的 OECD 统计 API 中检索数据。
请注意,还需要更新
resource_id
和
key
参数,以匹配修订后的 API 中使用的新的数据结构和参数。 OECD 提供了有关其新 API 的文档,可以在其中找到有关如何构建请求的更多信息。