求推荐可将完整货币名称转换为对应标准缩写的Python第三方库
Python 货币全称转标准缩写实现方案
有现成的第三方Python库可以直接实现这个需求,推荐两个覆盖范围广、匹配准确率高的选项,你列出的所有货币都可以正常转换为合规的ISO 4217三位标准缩写:
- 方案1:使用
forex-python库
这个库自带封装好的货币名称转编码方法,不需要自己做映射,调用简单:- 安装命令:
pip install forex-python - 示例代码:
- 安装命令:
from forex_python.converter import CurrencyCodes curr_codes = CurrencyCodes() # 你的货币名称列表 currency_list = [ 'United States dollar', 'European Euro', 'Indian rupee', 'Pound sterling', 'Canadian dollar', 'Brazilian real', 'Australian dollar', 'Polish zloty', 'Russian ruble', 'Swedish krona', 'Macanese pataca', 'Samoan tala', 'Libyan dinar', 'Namibian dollar', 'Cayman Islands dollar', 'Fijian dollar', 'Lesotho loti', 'Turkmen manat', 'Somali shilling', 'Mozambican metical' ] for curr_name in currency_list: code = curr_codes.get_currency_code_from_name(curr_name) print(f"{curr_name} -- {code}")
- 方案2:使用
iso4217库
这个库完全遵循ISO 4217官方标准构建,可自定义匹配规则,适配性更强:- 安装命令:
pip install iso4217 - 示例代码:
- 安装命令:
from iso4217 import Currency # 先构建全量货币名称到编码的映射字典,统一转小写避免大小写匹配问题 curr_map = {item.currency_name.lower(): item.code for item in Currency} for curr_name in currency_list: code = curr_map.get(curr_name.lower()) print(f"{curr_name} -- {code}")
运行上述代码就能得到你要的转换效果,比如美元转USD、欧元转EUR、印度卢比转INR等。
内容的提问来源于stack exchange,提问作者Rasika
相关产品推荐
相关产品推荐

