从欧洲央行获取今天的货币 - pandassdmx?
Get currency of today from ECB - pandassdmx?
我需要从欧洲央行获得 USD/EUR 和 CHF/EUR 的最新货币汇率。
推荐的方法是什么?
版本 1:
尝试过 pandasdmx 但不知道提取值的最有效方法:
ecb = sdmx.Request("ECB")
parameters = {
"startPeriod": "2021-12-29",
"endPeriod": "2021-12-29",
}
data_response = ecb.data(
resource_id="EXR",
key={"CURRENCY": ["CHF", "USD"]},
params=parameters,
)
如何解析 data_response 以获取 USD 和 CHF 的值?
版本 2:
我发现的另一种方法是访问
request_url = "https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml"
解析 XML 很容易,但第一个版本似乎是更新的版本。
有什么想法吗?
你可以做到
data = data_response.to_pandas()
data
获得 Pandas 系列的结果:
FREQ CURRENCY CURRENCY_DENOM EXR_TYPE EXR_SUFFIX TIME_PERIOD
D CHF EUR SP00 A 2021-12-29 1.0380
USD EUR SP00 A 2021-12-29 1.1303
Name: value, dtype: float64
data
系列的值是您所追求的两种汇率。前面的所有字段都是多索引的一部分,因此要获得 CHF,您可以使用
data[('D', 'CHF', 'EUR', 'SP00', 'A', '2021-12-29')]
这将 return
1.038
或者您可以使用 .iloc
data.iloc[0]
瑞士法郎,data.iloc[1]
美元
我需要从欧洲央行获得 USD/EUR 和 CHF/EUR 的最新货币汇率。 推荐的方法是什么?
版本 1: 尝试过 pandasdmx 但不知道提取值的最有效方法:
ecb = sdmx.Request("ECB")
parameters = {
"startPeriod": "2021-12-29",
"endPeriod": "2021-12-29",
}
data_response = ecb.data(
resource_id="EXR",
key={"CURRENCY": ["CHF", "USD"]},
params=parameters,
)
如何解析 data_response 以获取 USD 和 CHF 的值?
版本 2: 我发现的另一种方法是访问
request_url = "https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml"
解析 XML 很容易,但第一个版本似乎是更新的版本。
有什么想法吗?
你可以做到
data = data_response.to_pandas()
data
获得 Pandas 系列的结果:
FREQ CURRENCY CURRENCY_DENOM EXR_TYPE EXR_SUFFIX TIME_PERIOD
D CHF EUR SP00 A 2021-12-29 1.0380
USD EUR SP00 A 2021-12-29 1.1303
Name: value, dtype: float64
data
系列的值是您所追求的两种汇率。前面的所有字段都是多索引的一部分,因此要获得 CHF,您可以使用
data[('D', 'CHF', 'EUR', 'SP00', 'A', '2021-12-29')]
这将 return
1.038
或者您可以使用 .iloc
data.iloc[0]
瑞士法郎,data.iloc[1]
美元