PyCountry 货币格式化“DE”alpha2 国家/地区代码的问题

2024-02-06

我有一个Python函数,它接受alpha2国家/地区代码和价格字符串,其目的是获取该国家/地区的货币并使用该货币的currency.letter属性通过字符串插值来格式化提供的价格字符串。

到目前为止,上面的代码运行良好 - 但当以德国为国家时,它会失败,如下所示:

>>> import pycountry
>>> country = pycountry.countries.get(alpha2='DE')
>>> currency = pycountry.currencies.get(numeric=country.numeric)
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/usr/lib/pymodules/python2.6/pycountry/db.py", line 83, in get
    return self.indices[field][value]
KeyError: '276'
>>>

The pycountry.countries集合不包含数字为 276(德国数字)的货币 - 但它包含欧元。关于解决这个问题的方法有什么想法吗?


不幸的是,国家数字代码与货币数字不同。根据 ISO,“如果可能,3 位数字代码与国家/地区数字代码相同 http://www.iso.org/iso/currency_codes“——但这对于由多个国家共享的欧元来说显然是不可能的。

欧元的数字是 978,而不是 276;显然 pycountry 不提供国家数字和货币数字之间的映射。这是原始表(XML 或 XLS 格式)的链接,因此您可以根据需要自行创建...http://www.currency-iso.org/en/home/tables/table-a1.html http://www.currency-iso.org/en/home/tables/table-a1.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PyCountry 货币格式化“DE”alpha2 国家/地区代码的问题 的相关文章

随机推荐