import pycountry
input_countries =['American Samoa','Canada','France']
countries ={}for country in pycountry.countries:
countries[country.name]= country.alpha2
codes =[countries.get(country,'Unknown code')for country in input_countries]print codes # prints [u'AS', u'CA', u'FR']
La peine de mentionner que maintenant vous pouvez également utiliser le get méthode: pycountry.countries.get(name='American Samoa').alpha2. alpha2 fut renommé alpha_2 c'est bon, mais aussi 9.2 Mb! J'ai donc utilisé le csv mentionné par @Ashwini_Chaudhary avec seulement 9,6 Ko
In[41]:import csv
In[42]: dic ={}In[43]: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']....:In[44]: countries =['American Samoa','Canada','France']In[45]:[dic[x]for x in countries]Out[45]:['AS','CA','FR']
Ci-dessous est un dictionnaire de mappage de noms de pays, de leurs codes ISO 3166-1 alpha-2. Vous pouvez l'utiliser à cette fin. Sauf si vous voulez de l'aventure, à l'aide de pycountry est une meilleure idée.
{'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','Country name':'Code','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','ISO 3166-2:GB':'(.uk)','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'}
Il ya quelques choses à considérer avec les Noms de Pays, surtout si les utilisant comme clés de recherche. Ils peuvent être en Cas de Titre (ce que nous considérons comme normal) ou en Majuscules (à partir de la norme ISO 3166). Les noms qui incluent des virgules ou des apostrophes peut-être besoin d'être enveloppé dans des guillemets. Certains noms ont des lettres avec accents (donc non-ASCII). Toutefois, il pourrait être une combinaison qui fonctionne pour vous à http://www.dataphyx.com/countrynames/ où vous pouvez obtenir CSV listes de l'ISO Noms/IDs dans différents formats.
Il y a beaucoup de versions archivées sur le net. J'ai placé des copies (2/15/2014) de l'anglais et du français txt et xml versions ici: http://www.opengeocode.org/archive.php
Cela semble induire en erreur; le site dit "de Tous les codes sont maintenant disponibles sur le en Ligne Plate-forme de consultation (OBP). Les informations sur l'OBP est toujours à jour et vous pouvez vous abonner aux notifications pour être informé lorsque des modifications sont apportées. Cette fonctionnalité de notification remplace la norme ISO 3166 bulletin d'information." Ils apparaissent toujours à être libres, ils ont juste changé le format. Les choses changent dans les 2 ans (hehe). Oui, vous pouvez maintenant obtenir une table dump de l'ISO. Je n'ai pas de piste quand ils ont fait le changement, mais en effet ils ont abandonné la pratique de la prise de vous acheter des codes et sont de nouveau disponibles gratuitement.
Il y a un module appelé
pycountry
.Voici un exemple de code:
get
méthode:pycountry.countries.get(name='American Samoa').alpha2
.alpha2
fut renomméalpha_2
c'est bon, mais aussi 9.2 Mb! J'ai donc utilisé le csv mentionné par @Ashwini_Chaudhary avec seulement 9,6 Ko
OriginalL'auteur alecxe
Vous pouvez utiliser ce fichier csv : code de pays de la liste dans un fichier CSV.
Peu plus alternatives.
OriginalL'auteur Ashwini Chaudhary
Ci-dessous est un dictionnaire de mappage de noms de pays, de leurs codes ISO 3166-1 alpha-2. Vous pouvez l'utiliser à cette fin. Sauf si vous voulez de l'aventure, à l'aide de
pycountry
est une meilleure idée.OriginalL'auteur pradyunsg
Il ya quelques choses à considérer avec les Noms de Pays, surtout si les utilisant comme clés de recherche. Ils peuvent être en Cas de Titre (ce que nous considérons comme normal) ou en Majuscules (à partir de la norme ISO 3166). Les noms qui incluent des virgules ou des apostrophes peut-être besoin d'être enveloppé dans des guillemets. Certains noms ont des lettres avec accents (donc non-ASCII). Toutefois, il pourrait être une combinaison qui fonctionne pour vous à http://www.dataphyx.com/countrynames/ où vous pouvez obtenir CSV listes de l'ISO Noms/IDs dans différents formats.
OriginalL'auteur mlbx02
Pour ceux utilisant la norme ISO 3166-1 les Codes de Pays, ils ne seront plus librement disponible à partir de l'ISO après Févr. 20, 2014. Consultez leurs avis: http://www.iso.org/iso/home/standards/country_codes/country-codes_new-product-info
Il y a beaucoup de versions archivées sur le net. J'ai placé des copies (2/15/2014) de l'anglais et du français txt et xml versions ici: http://www.opengeocode.org/archive.php
Les choses changent dans les 2 ans (hehe). Oui, vous pouvez maintenant obtenir une table dump de l'ISO. Je n'ai pas de piste quand ils ont fait le changement, mais en effet ils ont abandonné la pratique de la prise de vous acheter des codes et sont de nouveau disponibles gratuitement.
OriginalL'auteur Andrew - OpenGeoCode