编程语言
首页 > 编程语言> > python-‘DE’alpha2国家/地区代码的PyCountry货币格式设置出现问题

python-‘DE’alpha2国家/地区代码的PyCountry货币格式设置出现问题

作者:互联网

我有一个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'
>>>

pycountry.countries集合不包含数字为276(德国的数字)的货币-但确实包含欧元.关于如何解决的任何想法?

解决方法:

不幸的是,国家/地区数字代码与货币数字不同.根据ISO,“ Where possible the 3 digit numeric code is the same as the numeric country code”-但这显然对于欧元来说是不可能的,欧元由多个国家/地区共享.

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

标签:currency-formatting,python
来源: https://codeday.me/bug/20191029/1961128.html