假设我想使用以下方式将州名转换为三个字母的国家/地区代码
object
库,有没有办法实现?
例如(Beroun-> CZE,Faryab-> AFG)
答案 0 :(得分:1)
您可以通过以下方法实现此目标:
alpha2 = pycountry.subdivisions.lookup("Beroun").country_code # "CZ"
# If you're looking for alpha_3:
pycountry.countries.get(alpha_2=alpha2).alpha_3 # "CZE"
但是,您必须注意位置不明确的地方,例如美国“蒙大拿州”
pycountry.subdivisions.lookup("Montana").country_code # BG
答案 1 :(得分:0)
您可以使用geopy
获取完整的地址,即长/纬/城市/国家/地区名称:
from geopy import geocoders
Google-API-KEY = "xxx-xxxx-xxxxxxxxx-xxxxx"
gn = geocoders.GoogleV3(Google-API-KEY)
place, (lat, lng) = gn.geocode("Beroun")
print(place)
输出:
266 01 Beroun, Czechia
一旦有了国家名称,就可以使用pycountry
来获得其缩写:
import pycountry
user_input = 'Czechia'
mapping = {country.name: country.alpha_2 for country in pycountry.countries}
print(mapping.get(user_input))
输出:
CZ
现在您知道,对于一个州来说,它是国家(国家)及其缩写。如果您想将键值配对为state-country
可能类似于:
state_country = {'Beroun': 'CZ'}
print(state_country)
输出:
{'Beroun': 'CZ'}