有没有办法从pycountry库访问州名称?

2024-09-28 22:56:13 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我想用 pycountry库,有没有实现它的方法?在

例如(Beroun->;CZE、Faryab->;AFG)


Tags: 方法gtpycountryafgczeberounfaryab
2条回答

您可以使用geopy获得完整的地址,即long/lat/city/countryname:

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)

输出:

^{pr2}$

一旦有了国家名称,就可以使用pycountry获得其缩写:

import pycountry
user_input = 'Czechia'
mapping = {country.name: country.alpha_2 for country in pycountry.countries}
print(mapping.get(user_input))

输出:

CZ

现在你知道,对于一个州来说,它是country和它的缩写。如果您希望键值配对state-country,请在州及其国家/地区之外创建字典

也许是这样的:

state_country = {'Beroun': 'CZ'}
print(state_country)

输出:

{'Beroun': 'CZ'}

您可以通过以下方法实现:

alpha2 = pycountry.subdivisions.lookup("Beroun").country_code # "CZ"
# If you're looking for alpha_3:
pycountry.countries.get(alpha_2=alpha2).alpha_3 # "CZE"

但是,你必须小心模棱两可的地点,例如美国的“蒙大拿州”

^{pr2}$

相关问题 更多 >