使用 pycountry 从国家/地区获取大陆名称

VIB*_*ROT 8 python country country-codes

如何使用 pycountry 从国家名称转换大陆名称。我有一个这样的国家列表

country = ['India', 'Australia', ....]

我想从中获得大陆名称。

continent = ['Asia', 'Australia', ....]

小智 14

pycountry-convert中提供了您需要的所有工具。

以下是如何使用 pycountry 工具创建自己的函数以将国家/地区名称直接转换为大陆名称的示例:

import pycountry_convert as pc

def country_to_continent(country_name):
    country_alpha2 = pc.country_name_to_country_alpha2(country_name)
    country_continent_code = pc.country_alpha2_to_continent_code(country_alpha2)
    country_continent_name = pc.convert_continent_code_to_continent_name(country_continent_code)
    return country_continent_name

# Example
country_name = 'Germany'
print(country_to_continent(country_name))

Out[1]: Europe 
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你!

请记住,您可以使用“??”访问函数描述 函数名'

?? pc.country_name_to_country_alpha2
Run Code Online (Sandbox Code Playgroud)


Oli*_* D. 7

查看文档,这样的事情会起作用吗?:

country_alpha2_to_continent_code()

它将国家代码(例如:NO、SE、ES)转换为大陆名称。

如果首先您需要获取国家代码,您可以使用:

country_name_to_country_alpha2(cn_name, cn_name_format="默认")

从国家/地区名称获取国家/地区代码。

完整示例:

import pycountry_convert as pc

country_code = pc.country_name_to_country_alpha2("China", cn_name_format="default")
print(country_code)
continent_name = pc.country_alpha2_to_continent_code(country_code)
print(continent_name)
Run Code Online (Sandbox Code Playgroud)


Rom*_*ich 7

from pycountry_convert import country_alpha2_to_continent_code, country_name_to_country_alpha2

continents = {
    'NA': 'North America',
    'SA': 'South America', 
    'AS': 'Asia',
    'OC': 'Australia',
    'AF': 'Africa',
    'EU': 'Europe'
}

countries = ['India', 'Australia']

[continents[country_alpha2_to_continent_code(country_name_to_country_alpha2(country))] for country in countries]

Run Code Online (Sandbox Code Playgroud)

不知道该怎么处理南极 ¯_(?)_/¯

  • 请注意,这里忘记了欧盟:) (2认同)