我正在尝试使用 pycountries 库将国家名称数据列表转换为 ISO3166 国家代码(alpha3)。我的基本功能是:
import pycountries as pc
def guess_country(data, output='alpha3', verbose=False):
#Check Data isn't already in Alpha3
try:
country = pc.countries.get(alpha3=data)
return country
except:
pass #KeyError Raised, data doesn't directly match
#Check if Country is Actual CountryName
try:
country = pc.countries.get(name=data)
return country
except:
pass #KeyError Raised, data doesn't directly match
#Check RegExpr of 'data' in an attempt to match
问题是 CountryName 数据相当脏......样本的简短列表是
危地马拉,中国 T,哥伦比亚,墨西哥,香港
有谁知道是否有一个包可以返回给定 cntry_name 的最佳“猜测”匹配?我会很高兴有些人因为困难而被拒绝(即中国 T -> 台湾)。如果 best_guess 返回关于“猜测”的确定性度量,那就太好了。