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

Python如何通过ISO 4217货币代码查询对应西班牙语货币名称

可用实现方案

推荐用成熟的Python国际化库组合实现,不需要自己维护庞大的映射表,结果符合官方西班牙语命名规范:

方案:iso4217 + Babel 组合(推荐)

优势

  • 数据完全符合ISO 4217官方标准
  • 原生支持西班牙语货币名称返回,可自由切换不同地区的西语变体
  • 支持数字代码、字母代码两种查询方式

安装依赖

pip install iso4217 babel

示例代码

from iso4217 import Currency
from babel import Locale

# 初始化西班牙本地西班牙语,如需拉美西语可修改为 es_MX、es_AR 等
es_locale = Locale("es", "ES")

def get_currency_es_name(iso_numeric_code: int) -> str | None:
    try:
        # 通过数字代码获取对应货币对象
        currency = Currency(code=iso_numeric_code)
        # 返回西班牙语货币名称
        return es_locale.currencies.get(currency.code)
    except ValueError:
        # 输入无效ISO 4217代码时返回空
        return None

# 测试和你提供的示例映射匹配度极高
if __name__ == "__main__":
    test_codes = [36, 124, 208, 392, 978, 840]
    for code in test_codes:
        print(f"{code}: {get_currency_es_name(code)}")

输出示例

36: Dólar australiano
124: Dólar canadiense
208: Corona danesa
392: Yen japonés
978: Euro
840: Dólar estadounidense

如果需要和你示例里的本地化习惯(比如把美元命名为Dólar USA)对齐,对返回结果做少量自定义替换即可。

备选方案:单Babel实现

如果不想引入iso4217依赖,也可以直接用Babel内置的货币数据,提前把数字代码转成三位补零格式后匹配映射即可,只是代码逻辑会稍复杂一点。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 05:15:03