How to convert country names to ISO 3166-1 alpha-2 values, using python

Question:

I have a list of countries like:

countries=['American Samoa', 'Canada', 'France'...]

I want to convert them like this:

countries=['AS', 'CA', 'FR'...]

Is there any module or any way to convert them?

Asked By: MHS

||

Answers:

You can use this csv file : country code list into a CSV.

import csv

dic = {}
with open("wikipedia-iso-country-codes.csv") as f:
    file= csv.DictReader(f, delimiter=',')
    for line in file:
        dic[line['English short name lower case']] = line['Alpha-2 code']        

countries = ['American Samoa', 'Canada', 'France']

for country in countries:
    print(dic[country])

Will print:

AS
CA
FR

Few more alternatives.

Answered By: Ashwini Chaudhary

There is a module called pycountry.

Here’s an example code:

import pycountry

input_countries = ['American Samoa', 'Canada', 'France']

countries = {}
for country in pycountry.countries:
    countries[country.name] = country.alpha_2

codes = [countries.get(country, 'Unknown code') for country in input_countries]

print(codes)  # prints ['AS', 'CA', 'FR']
Answered By: alecxe

There are a few things to consider with Country Names, especially if using them as search keys. They can be in Title Case (what we think of as normal) or Uppercase (from ISO 3166). Names that include commas or apostrophes might need to be wrapped in quotes. Some names have letters with accents (so non-ASCII). However, there might be a combination that works for you at http://www.dataphyx.com/countrynames/ where you can get CSV lists of ISO Names/IDs in various formats.

Answered By: mlbx02

Below is a dictionary mapping country names to their codes in ISO 3166-1 alpha-2. You can use it for this purpose. Unless you want to be adventurous, using pycountry is a better idea.

{'Afghanistan': 'AF',
 'Albania': 'AL',
 'Algeria': 'DZ',
 'American Samoa': 'AS',
 'Andorra': 'AD',
 'Angola': 'AO',
 'Anguilla': 'AI',
 'Antarctica': 'AQ',
 'Antigua and Barbuda': 'AG',
 'Argentina': 'AR',
 'Armenia': 'AM',
 'Aruba': 'AW',
 'Australia': 'AU',
 'Austria': 'AT',
 'Azerbaijan': 'AZ',
 'Bahamas': 'BS',
 'Bahrain': 'BH',
 'Bangladesh': 'BD',
 'Barbados': 'BB',
 'Belarus': 'BY',
 'Belgium': 'BE',
 'Belize': 'BZ',
 'Benin': 'BJ',
 'Bermuda': 'BM',
 'Bhutan': 'BT',
 'Bolivia, Plurinational State of': 'BO',
 'Bonaire, Sint Eustatius and Saba': 'BQ',
 'Bosnia and Herzegovina': 'BA',
 'Botswana': 'BW',
 'Bouvet Island': 'BV',
 'Brazil': 'BR',
 'British Indian Ocean Territory': 'IO',
 'Brunei Darussalam': 'BN',
 'Bulgaria': 'BG',
 'Burkina Faso': 'BF',
 'Burundi': 'BI',
 'Cambodia': 'KH',
 'Cameroon': 'CM',
 'Canada': 'CA',
 'Cape Verde': 'CV',
 'Cayman Islands': 'KY',
 'Central African Republic': 'CF',
 'Chad': 'TD',
 'Chile': 'CL',
 'China': 'CN',
 'Christmas Island': 'CX',
 'Cocos (Keeling) Islands': 'CC',
 'Colombia': 'CO',
 'Comoros': 'KM',
 'Congo': 'CG',
 'Congo, the Democratic Republic of the': 'CD',
 'Cook Islands': 'CK',
 'Costa Rica': 'CR',
 'Croatia': 'HR',
 'Cuba': 'CU',
 'Curaçao': 'CW',
 'Cyprus': 'CY',
 'Czech Republic': 'CZ',
 "Côte d'Ivoire": 'CI',
 'Denmark': 'DK',
 'Djibouti': 'DJ',
 'Dominica': 'DM',
 'Dominican Republic': 'DO',
 'Ecuador': 'EC',
 'Egypt': 'EG',
 'El Salvador': 'SV',
 'Equatorial Guinea': 'GQ',
 'Eritrea': 'ER',
 'Estonia': 'EE',
 'Ethiopia': 'ET',
 'Falkland Islands (Malvinas)': 'FK',
 'Faroe Islands': 'FO',
 'Fiji': 'FJ',
 'Finland': 'FI',
 'France': 'FR',
 'French Guiana': 'GF',
 'French Polynesia': 'PF',
 'French Southern Territories': 'TF',
 'Gabon': 'GA',
 'Gambia': 'GM',
 'Georgia': 'GE',
 'Germany': 'DE',
 'Ghana': 'GH',
 'Gibraltar': 'GI',
 'Greece': 'GR',
 'Greenland': 'GL',
 'Grenada': 'GD',
 'Guadeloupe': 'GP',
 'Guam': 'GU',
 'Guatemala': 'GT',
 'Guernsey': 'GG',
 'Guinea': 'GN',
 'Guinea-Bissau': 'GW',
 'Guyana': 'GY',
 'Haiti': 'HT',
 'Heard Island and McDonald Islands': 'HM',
 'Holy See (Vatican City State)': 'VA',
 'Honduras': 'HN',
 'Hong Kong': 'HK',
 'Hungary': 'HU',
 'Iceland': 'IS',
 'India': 'IN',
 'Indonesia': 'ID',
 'Iran, Islamic Republic of': 'IR',
 'Iraq': 'IQ',
 'Ireland': 'IE',
 'Isle of Man': 'IM',
 'Israel': 'IL',
 'Italy': 'IT',
 'Jamaica': 'JM',
 'Japan': 'JP',
 'Jersey': 'JE',
 'Jordan': 'JO',
 'Kazakhstan': 'KZ',
 'Kenya': 'KE',
 'Kiribati': 'KI',
 "Korea, Democratic People's Republic of": 'KP',
 'Korea, Republic of': 'KR',
 'Kuwait': 'KW',
 'Kyrgyzstan': 'KG',
 "Lao People's Democratic Republic": 'LA',
 'Latvia': 'LV',
 'Lebanon': 'LB',
 'Lesotho': 'LS',
 'Liberia': 'LR',
 'Libya': 'LY',
 'Liechtenstein': 'LI',
 'Lithuania': 'LT',
 'Luxembourg': 'LU',
 'Macao': 'MO',
 'Macedonia, the former Yugoslav Republic of': 'MK',
 'Madagascar': 'MG',
 'Malawi': 'MW',
 'Malaysia': 'MY',
 'Maldives': 'MV',
 'Mali': 'ML',
 'Malta': 'MT',
 'Marshall Islands': 'MH',
 'Martinique': 'MQ',
 'Mauritania': 'MR',
 'Mauritius': 'MU',
 'Mayotte': 'YT',
 'Mexico': 'MX',
 'Micronesia, Federated States of': 'FM',
 'Moldova, Republic of': 'MD',
 'Monaco': 'MC',
 'Mongolia': 'MN',
 'Montenegro': 'ME',
 'Montserrat': 'MS',
 'Morocco': 'MA',
 'Mozambique': 'MZ',
 'Myanmar': 'MM',
 'Namibia': 'NA',
 'Nauru': 'NR',
 'Nepal': 'NP',
 'Netherlands': 'NL',
 'New Caledonia': 'NC',
 'New Zealand': 'NZ',
 'Nicaragua': 'NI',
 'Niger': 'NE',
 'Nigeria': 'NG',
 'Niue': 'NU',
 'Norfolk Island': 'NF',
 'Northern Mariana Islands': 'MP',
 'Norway': 'NO',
 'Oman': 'OM',
 'Pakistan': 'PK',
 'Palau': 'PW',
 'Palestine, State of': 'PS',
 'Panama': 'PA',
 'Papua New Guinea': 'PG',
 'Paraguay': 'PY',
 'Peru': 'PE',
 'Philippines': 'PH',
 'Pitcairn': 'PN',
 'Poland': 'PL',
 'Portugal': 'PT',
 'Puerto Rico': 'PR',
 'Qatar': 'QA',
 'Romania': 'RO',
 'Russian Federation': 'RU',
 'Rwanda': 'RW',
 'Réunion': 'RE',
 'Saint Barthélemy': 'BL',
 'Saint Helena, Ascension and Tristan da Cunha': 'SH',
 'Saint Kitts and Nevis': 'KN',
 'Saint Lucia': 'LC',
 'Saint Martin (French part)': 'MF',
 'Saint Pierre and Miquelon': 'PM',
 'Saint Vincent and the Grenadines': 'VC',
 'Samoa': 'WS',
 'San Marino': 'SM',
 'Sao Tome and Principe': 'ST',
 'Saudi Arabia': 'SA',
 'Senegal': 'SN',
 'Serbia': 'RS',
 'Seychelles': 'SC',
 'Sierra Leone': 'SL',
 'Singapore': 'SG',
 'Sint Maarten (Dutch part)': 'SX',
 'Slovakia': 'SK',
 'Slovenia': 'SI',
 'Solomon Islands': 'SB',
 'Somalia': 'SO',
 'South Africa': 'ZA',
 'South Georgia and the South Sandwich Islands': 'GS',
 'South Sudan': 'SS',
 'Spain': 'ES',
 'Sri Lanka': 'LK',
 'Sudan': 'SD',
 'Suriname': 'SR',
 'Svalbard and Jan Mayen': 'SJ',
 'Swaziland': 'SZ',
 'Sweden': 'SE',
 'Switzerland': 'CH',
 'Syrian Arab Republic': 'SY',
 'Taiwan, Province of China': 'TW',
 'Tajikistan': 'TJ',
 'Tanzania, United Republic of': 'TZ',
 'Thailand': 'TH',
 'Timor-Leste': 'TL',
 'Togo': 'TG',
 'Tokelau': 'TK',
 'Tonga': 'TO',
 'Trinidad and Tobago': 'TT',
 'Tunisia': 'TN',
 'Turkey': 'TR',
 'Turkmenistan': 'TM',
 'Turks and Caicos Islands': 'TC',
 'Tuvalu': 'TV',
 'Uganda': 'UG',
 'Ukraine': 'UA',
 'United Arab Emirates': 'AE',
 'United Kingdom': 'GB',
 'United States': 'US',
 'United States Minor Outlying Islands': 'UM',
 'Uruguay': 'UY',
 'Uzbekistan': 'UZ',
 'Vanuatu': 'VU',
 'Venezuela, Bolivarian Republic of': 'VE',
 'Viet Nam': 'VN',
 'Virgin Islands, British': 'VG',
 'Virgin Islands, U.S.': 'VI',
 'Wallis and Futuna': 'WF',
 'Western Sahara': 'EH',
 'Yemen': 'YE',
 'Zambia': 'ZM',
 'Zimbabwe': 'ZW',
 'Åland Islands': 'AX'}
Answered By: pradyunsg

For those using the ISO 3166-1 Country Codes, they will no longer be freely availalble from ISO after Feb. 20, 2014. See their notice: http://www.iso.org/iso/home/standards/country_codes/country-codes_new-product-info

There are plenty of archived versions on the net. I’ve placed copies (2/15/2014) of the English and French txt and xml versions here: http://www.opengeocode.org/archive.php

For a reference, to help others. You can as well have all the countries listed here, so it is easy for anyone to create a csv, json, xml, html, excel etc. Just copy and recreate.

+---------+----------------------------------------------+---------------+
| ISOCode |                   Country                    |    Region     |
+---------+----------------------------------------------+---------------+
| AD      | Andorra                                      | Europe        |
| AE      | United Arab Emirates                         | Asia          |
| AF      | Afghanistan                                  | Asia          |
| AG      | Antigua and Barbuda                          | North America |
| AI      | Anguilla                                     | North America |
| AL      | Albania                                      | Europe        |
| AM      | Armenia                                      | Asia          |
| AO      | Angola                                       | Africa        |
| AQ      | Antarctica                                   | Antarctica    |
| AR      | Argentina                                    | South America |
| AS      | American Samoa                               | Australia     |
| AT      | Austria                                      | Europe        |
| AU      | Australia                                    | Australia     |
| AW      | Aruba                                        | North America |
| AZ      | Azerbaijan                                   | Asia          |
| BA      | Bosnia and Herzegovina                       | Europe        |
| BB      | Barbados                                     | North America |
| BD      | Bangladesh                                   | Asia          |
| BE      | Belgium                                      | Europe        |
| BF      | Burkina Faso                                 | Africa        |
| BG      | Bulgaria                                     | Europe        |
| BH      | Bahrain                                      | Asia          |
| BI      | Burundi                                      | Africa        |
| BJ      | Benin                                        | Africa        |
| BM      | Bermuda                                      | North America |
| BN      | Brunei Darussalam                            | Asia          |
| BO      | Bolivia, Plurinational State of              | South America |
| BR      | Brazil                                       | South America |
| BS      | Bahamas                                      | North America |
| BT      | Bhutan                                       | Asia          |
| BW      | Botswana                                     | Africa        |
| BY      | Belarus                                      | Europe        |
| BZ      | Belize                                       | North America |
| CA      | Canada                                       | North America |
| CC      | Cocos (Keeling) Islands                      | Asia          |
| CD      | Congo, The Democratic Republic of the        | Africa        |
| CF      | Central African Republic                     | Africa        |
| CG      | Congo                                        | Africa        |
| CH      | Switzerland                                  | Europe        |
| CI      | Côte d'Ivoire                                | Africa        |
| CK      | Cook Islands                                 | Australia     |
| CL      | Chile                                        | South America |
| CM      | Cameroon                                     | Africa        |
| CN      | China                                        | Asia          |
| CO      | Colombia                                     | South America |
| CR      | Costa Rica                                   | North America |
| CU      | Cuba                                         | North America |
| CV      | Cape Verde                                   | Africa        |
| CX      | Christmas Island                             | Asia          |
| CY      | Cyprus                                       | Asia          |
| CZ      | Czech Republic                               | Europe        |
| DE      | Germany                                      | Europe        |
| DJ      | Djibouti                                     | Africa        |
| DK      | Denmark                                      | Europe        |
| DM      | Dominica                                     | North America |
| DO      | Dominican Republic                           | North America |
| DZ      | Algeria                                      | Africa        |
| EC      | Ecuador                                      | South America |
| EE      | Estonia                                      | Europe        |
| EG      | Egypt                                        | Africa        |
| EH      | Western Sahara                               | Africa        |
| ER      | Eritrea                                      | Africa        |
| ES      | Spain                                        | Europe        |
| ET      | Ethiopia                                     | Africa        |
| FI      | Finland                                      | Europe        |
| FJ      | Fiji                                         | Australia     |
| FK      | Falkland Islands (Malvinas)                  | South America |
| FM      | Micronesia, Federated States of              | Australia     |
| FO      | Faroe Islands                                | Europe        |
| FR      | France                                       | Europe        |
| GA      | Gabon                                        | Africa        |
| GB      | United Kingdom                               | Europe        |
| GD      | Grenada                                      | North America |
| GE      | Georgia                                      | Asia          |
| GF      | French Guiana                                | South America |
| GG      | Guernsey                                     | Europe        |
| GH      | Ghana                                        | Africa        |
| GI      | Gibraltar                                    | Europe        |
| GL      | Greenland                                    | North America |
| GM      | Gambia                                       | Africa        |
| GN      | Guinea                                       | Africa        |
| GP      | Guadeloupe                                   | North America |
| GQ      | Equatorial Guinea                            | Africa        |
| GR      | Greece                                       | Europe        |
| GS      | South Georgia and the South Sandwich Islands | Antarctica    |
| GT      | Guatemala                                    | North America |
| GU      | Guam                                         | Australia     |
| GW      | Guinea-Bissau                                | Africa        |
| GY      | Guyana                                       | South America |
| HK      | Hong Kong                                    | Asia          |
| HN      | Honduras                                     | North America |
| HR      | Croatia                                      | Europe        |
| HT      | Haiti                                        | North America |
| HU      | Hungary                                      | Europe        |
| ID      | Indonesia                                    | Asia          |
| IE      | Ireland                                      | Europe        |
| IL      | Israel                                       | Asia          |
| IM      | Isle of Man                                  | Europe        |
| IN      | India                                        | Asia          |
| IO      | British Indian Ocean Territory               | Asia          |
| IQ      | Iraq                                         | Asia          |
| IR      | Iran, Islamic Republic of                    | Asia          |
| IS      | Iceland                                      | Europe        |
| IT      | Italy                                        | Europe        |
| JE      | Jersey                                       | Europe        |
| JM      | Jamaica                                      | North America |
| JO      | Jordan                                       | Asia          |
| JP      | Japan                                        | Asia          |
| KE      | Kenya                                        | Africa        |
| KG      | Kyrgyzstan                                   | Asia          |
| KH      | Cambodia                                     | Asia          |
| KI      | Kiribati                                     | Australia     |
| KM      | Comoros                                      | Africa        |
| KN      | Saint Kitts and Nevis                        | North America |
| KP      | Korea, Democratic People's Republic of       | Asia          |
| KR      | Korea, Republic of                           | Asia          |
| KW      | Kuwait                                       | Asia          |
| KY      | Cayman Islands                               | North America |
| KZ      | Kazakhstan                                   | Asia          |
| LA      | Lao People's Democratic Republic             | Asia          |
| LB      | Lebanon                                      | Asia          |
| LC      | Saint Lucia                                  | North America |
| LI      | Liechtenstein                                | Europe        |
| LK      | Sri Lanka                                    | Asia          |
| LR      | Liberia                                      | Africa        |
| LS      | Lesotho                                      | Africa        |
| LT      | Lithuania                                    | Europe        |
| LU      | Luxembourg                                   | Europe        |
| LV      | Latvia                                       | Europe        |
| LY      | Libya                                        | Africa        |
| MA      | Morocco                                      | Africa        |
| MC      | Monaco                                       | Europe        |
| MD      | Moldova, Republic of                         | Europe        |
| ME      | Montenegro                                   | Europe        |
| MG      | Madagascar                                   | Africa        |
| MH      | Marshall Islands                             | Australia     |
| MK      | Macedonia, Republic of                       | Europe        |
| ML      | Mali                                         | Africa        |
| MM      | Myanmar                                      | Asia          |
| MN      | Mongolia                                     | Asia          |
| MO      | Macao                                        | Asia          |
| MP      | Northern Mariana Islands                     | Australia     |
| MQ      | Martinique                                   | North America |
| MR      | Mauritania                                   | Africa        |
| MS      | Montserrat                                   | North America |
| MT      | Malta                                        | Europe        |
| MU      | Mauritius                                    | Africa        |
| MV      | Maldives                                     | Asia          |
| MW      | Malawi                                       | Africa        |
| MX      | Mexico                                       | North America |
| MY      | Malaysia                                     | Asia          |
| MZ      | Mozambique                                   | Africa        |
| NA      | Namibia                                      | Africa        |
| NC      | New Caledonia                                | Australia     |
| NE      | Niger                                        | Africa        |
| NF      | Norfolk Island                               | Australia     |
| NG      | Nigeria                                      | Africa        |
| NI      | Nicaragua                                    | North America |
| NL      | Netherlands                                  | Europe        |
| NO      | Norway                                       | Europe        |
| NP      | Nepal                                        | Asia          |
| NR      | Nauru                                        | Australia     |
| NU      | Niue                                         | Australia     |
| NZ      | New Zealand                                  | Australia     |
| OM      | Oman                                         | Asia          |
| PA      | Panama                                       | North America |
| PE      | Peru                                         | South America |
| PF      | French Polynesia                             | Australia     |
| PG      | Papua New Guinea                             | Australia     |
| PH      | Philippines                                  | Asia          |
| PK      | Pakistan                                     | Asia          |
| PL      | Poland                                       | Europe        |
| PM      | Saint Pierre and Miquelon                    | North America |
| PN      | Pitcairn                                     | Australia     |
| PR      | Puerto Rico                                  | North America |
| PS      | Palestinian Territory, Occupied              | Asia          |
| PT      | Portugal                                     | Europe        |
| PW      | Palau                                        | Australia     |
| PY      | Paraguay                                     | South America |
| QA      | Qatar                                        | Asia          |
| RE      | Réunion                                      | Africa        |
| RO      | Romania                                      | Europe        |
| RS      | Serbia                                       | Europe        |
| RU      | Russian Federation                           | Europe        |
| RW      | Rwanda                                       | Africa        |
| SA      | Saudi Arabia                                 | Asia          |
| SB      | Solomon Islands                              | Australia     |
| SC      | Seychelles                                   | Africa        |
| SD      | Sudan                                        | Africa        |
| SE      | Sweden                                       | Europe        |
| SG      | Singapore                                    | Asia          |
| SH      | Saint Helena, Ascension and Tristan da Cunha | Africa        |
| SI      | Slovenia                                     | Europe        |
| SJ      | Svalbard and Jan Mayen                       | Europe        |
| SK      | Slovakia                                     | Europe        |
| SL      | Sierra Leone                                 | Africa        |
| SM      | San Marino                                   | Europe        |
| SN      | Senegal                                      | Africa        |
| SO      | Somalia                                      | Africa        |
| SR      | Suriname                                     | South America |
| ST      | Sao Tome and Principe                        | Africa        |
| SV      | El Salvador                                  | North America |
| SY      | Syrian Arab Republic                         | Asia          |
| SZ      | Swaziland                                    | Africa        |
| TC      | Turks and Caicos Islands                     | North America |
| TD      | Chad                                         | Africa        |
| TF      | French Southern Territories                  | Antarctica    |
| TG      | Togo                                         | Africa        |
| TH      | Thailand                                     | Asia          |
| TJ      | Tajikistan                                   | Asia          |
| TK      | Tokelau                                      | Australia     |
| TM      | Turkmenistan                                 | Asia          |
| TN      | Tunisia                                      | Africa        |
| TO      | Tonga                                        | Australia     |
| TR      | Turkey                                       | Asia          |
| TT      | Trinidad and Tobago                          | North America |
| TV      | Tuvalu                                       | Australia     |
| TW      | Taiwan, Province of China                    | Asia          |
| TZ      | Tanzania, United Republic of                 | Africa        |
| UA      | Ukraine                                      | Europe        |
| UG      | Uganda                                       | Africa        |
| US      | United States                                | North America |
| UY      | Uruguay                                      | South America |
| UZ      | Uzbekistan                                   | Asia          |
| VC      | Saint Vincent and the Grenadines             | North America |
| VE      | Venezuela, Bolivarian Republic of            | South America |
| VG      | Virgin Islands, British                      | North America |
| VI      | Virgin Islands, U.S.                         | North America |
| VN      | Vietnam                                      | Asia          |
| VU      | Vanuatu                                      | Australia     |
| WF      | Wallis and Futuna                            | Australia     |
| WS      | Samoa                                        | Australia     |
| YE      | Yemen                                        | Asia          |
| YT      | Mayotte                                      | Africa        |
| ZA      | South Africa                                 | Africa        |
| ZM      | Zambia                                       | Africa        |
| ZW      | Zimbabwe                                     | Africa        |
+---------+----------------------------------------------+---------------+
Answered By: MEdwin

Below is a dictionary mapping country names from ISO 3166-1 alpha-2 to ISO 3166-1 alpha-2.

convert_ISO_3166_2_to_1 = {
'AF':'AFG',
'AX':'ALA',
'AL':'ALB',
'DZ':'DZA',
'AS':'ASM',
'AD':'AND',
'AO':'AGO',
'AI':'AIA',
'AQ':'ATA',
'AG':'ATG',
'AR':'ARG',
'AM':'ARM',
'AW':'ABW',
'AU':'AUS',
'AT':'AUT',
'AZ':'AZE',
'BS':'BHS',
'BH':'BHR',
'BD':'BGD',
'BB':'BRB',
'BY':'BLR',
'BE':'BEL',
'BZ':'BLZ',
'BJ':'BEN',
'BM':'BMU',
'BT':'BTN',
'BO':'BOL',
'BA':'BIH',
'BW':'BWA',
'BV':'BVT',
'BR':'BRA',
'IO':'IOT',
'BN':'BRN',
'BG':'BGR',
'BF':'BFA',
'BI':'BDI',
'KH':'KHM',
'CM':'CMR',
'CA':'CAN',
'CV':'CPV',
'KY':'CYM',
'CF':'CAF',
'TD':'TCD',
'CL':'CHL',
'CN':'CHN',
'CX':'CXR',
'CC':'CCK',
'CO':'COL',
'KM':'COM',
'CG':'COG',
'CD':'COD',
'CK':'COK',
'CR':'CRI',
'CI':'CIV',
'HR':'HRV',
'CU':'CUB',
'CY':'CYP',
'CZ':'CZE',
'DK':'DNK',
'DJ':'DJI',
'DM':'DMA',
'DO':'DOM',
'EC':'ECU',
'EG':'EGY',
'SV':'SLV',
'GQ':'GNQ',
'ER':'ERI',
'EE':'EST',
'ET':'ETH',
'FK':'FLK',
'FO':'FRO',
'FJ':'FJI',
'FI':'FIN',
'FR':'FRA',
'GF':'GUF',
'PF':'PYF',
'TF':'ATF',
'GA':'GAB',
'GM':'GMB',
'GE':'GEO',
'DE':'DEU',
'GH':'GHA',
'GI':'GIB',
'GR':'GRC',
'GL':'GRL',
'GD':'GRD',
'GP':'GLP',
'GU':'GUM',
'GT':'GTM',
'GG':'GGY',
'GN':'GIN',
'GW':'GNB',
'GY':'GUY',
'HT':'HTI',
'HM':'HMD',
'VA':'VAT',
'HN':'HND',
'HK':'HKG',
'HU':'HUN',
'IS':'ISL',
'IN':'IND',
'ID':'IDN',
'IR':'IRN',
'IQ':'IRQ',
'IE':'IRL',
'IM':'IMN',
'IL':'ISR',
'IT':'ITA',
'JM':'JAM',
'JP':'JPN',
'JE':'JEY',
'JO':'JOR',
'KZ':'KAZ',
'KE':'KEN',
'KI':'KIR',
'KP':'PRK',
'KR':'KOR',
'KW':'KWT',
'KG':'KGZ',
'LA':'LAO',
'LV':'LVA',
'LB':'LBN',
'LS':'LSO',
'LR':'LBR',
'LY':'LBY',
'LI':'LIE',
'LT':'LTU',
'LU':'LUX',
'MO':'MAC',
'MK':'MKD',
'MG':'MDG',
'MW':'MWI',
'MY':'MYS',
'MV':'MDV',
'ML':'MLI',
'MT':'MLT',
'MH':'MHL',
'MQ':'MTQ',
'MR':'MRT',
'MU':'MUS',
'YT':'MYT',
'MX':'MEX',
'FM':'FSM',
'MD':'MDA',
'MC':'MCO',
'MN':'MNG',
'ME':'MNE',
'MS':'MSR',
'MA':'MAR',
'MZ':'MOZ',
'MM':'MMR',
'NA':'NAM',
'NR':'NRU',
'NP':'NPL',
'NL':'NLD',
'AN':'ANT',
'NC':'NCL',
'NZ':'NZL',
'NI':'NIC',
'NE':'NER',
'NG':'NGA',
'NU':'NIU',
'NF':'NFK',
'MP':'MNP',
'NO':'NOR',
'OM':'OMN',
'PK':'PAK',
'PW':'PLW',
'PS':'PSE',
'PA':'PAN',
'PG':'PNG',
'PY':'PRY',
'PE':'PER',
'PH':'PHL',
'PN':'PCN',
'PL':'POL',
'PT':'PRT',
'PR':'PRI',
'QA':'QAT',
'RE':'REU',
'RO':'ROU',
'RU':'RUS',
'RW':'RWA',
'BL':'BLM',
'SH':'SHN',
'KN':'KNA',
'LC':'LCA',
'MF':'MAF',
'PM':'SPM',
'VC':'VCT',
'WS':'WSM',
'SM':'SMR',
'ST':'STP',
'SA':'SAU',
'SN':'SEN',
'RS':'SRB',
'SC':'SYC',
'SL':'SLE',
'SG':'SGP',
'SK':'SVK',
'SI':'SVN',
'SB':'SLB',
'SO':'SOM',
'ZA':'ZAF',
'GS':'SGS',
'ES':'ESP',
'LK':'LKA',
'SD':'SDN',
'SR':'SUR',
'SJ':'SJM',
'SZ':'SWZ',
'SE':'SWE',
'CH':'CHE',
'SY':'SYR',
'TW':'TWN',
'TJ':'TJK',
'TZ':'TZA',
'TH':'THA',
'TL':'TLS',
'TG':'TGO',
'TK':'TKL',
'TO':'TON',
'TT':'TTO',
'TN':'TUN',
'TR':'TUR',
'TM':'TKM',
'TC':'TCA',
'TV':'TUV',
'UG':'UGA',
'UA':'UKR',
'AE':'ARE',
'GB':'GBR',
'US':'USA',
'UM':'UMI',
'UY':'URY',
'UZ':'UZB',
'VU':'VUT',
'VE':'VEN',
'VN':'VNM',
'VG':'VGB',
'VI':'VIR',
'WF':'WLF',
'EH':'ESH',
'YE':'YEM',
'ZM':'ZMB',
'ZW':'ZWE'
}
Answered By: user229257

You can use the function clean_country() from the library DataPrep if you put the countries in a DataFrame. Install DataPrep with pip install dataprep.

from dataprep.clean import clean_country
import pandas as pd

df = pd.DataFrame({'country': ['American Samoa', 'Canada', 'France']})
df2 = clean_country(df, 'country', output_format='alpha-2')

df2 contains a new column country_clean with the countries in ISO 3166-1 alpha-2 format:

          country country_clean
0  American Samoa            AS
1          Canada            CA
2          France            FR
Answered By: victoria55

It was suggested in a comment by Polina, country_converter is a nice alternative to pycountry :

  • conversion is straightforward :

    convert(names=["list","of","countries"], to=out_format)

    with out_format="ISO2" in OP’s case (in my case I needed out_format="short_name"), and the countries being literally anything (try ['United Rep. of Tanzania', 'Cape Verde', 'Burma', 'China', 'FR', 'USA', 'Korea, Rep. of', 'Iran (Islamic Republic)']) ;

  • it’s only 49 kB (as of today pycountry is larger than 10 MB) ;

  • I’ve not used it thoroughly but it seems more coherent (in pycountry, some countries have both a name (e.g. "Italy") and an official_name (e.g. "Italian Republic"), but others only have a name which seems to correspond to the official name (e.g. "Syrian Arab Republic")).

While all the other answers work great, they are all pretty heavy if you care about the size of your app. If you only care about a simple conversion between country name, alpha2, and/or alpha3, there is a great package called iso3166.

For example pycountry is 28MB, while iso3166 is mere 36KB.

Answered By: vsobotka

pycountry can be quite slow when dealing with large datasets. There is a faster library called countrywrangler.

Here’s an example code using CountryWrangler:

import countrywrangler as cw

input_countries = ['American Samoa', 'Canada', 'France']

codes = [cw.Normalize.name_to_alpha2(country) for country in input_countries]

print(codes)  # prints ['AS', 'CA', 'FR']

Full documentation: https://countrywrangler.readthedocs.io/en/latest/normalize/country_name/

Answered By: Henry Wills
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.