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
相关产品推荐
相关产品推荐

