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

后端 未结 7 1131
醉酒成梦
醉酒成梦 2020-12-13 13:25

I have a list of countries like:

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

I want to convert them like this:



        
相关标签:
7条回答
  • 2020-12-13 13:59

    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.

    0 讨论(0)
  • 2020-12-13 14:03

    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']
    
    0 讨论(0)
  • 2020-12-13 14:06

    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

    0 讨论(0)
  • 2020-12-13 14:11

    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.

    0 讨论(0)
  • 2020-12-13 14:19

    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        |
    +---------+----------------------------------------------+---------------+
    
    0 讨论(0)
  • 2020-12-13 14:22

    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'
    }
    
    0 讨论(0)
提交回复
热议问题