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、コロン、メキシコ、HG KONG
cntry_name が指定された場合に最適な「推測」一致を返すパッケージがあるかどうかを知っている人はいますか? 難易度に基づいて拒否されるものもあります (つまり、中国 T -> 台湾)。best_guess が「推測」に関する確実性の尺度を返すとよいでしょう。