Ich suche nach einer vollständigen Liste von Ländern mit deren Ländercodes .
Gefällt mir auf dieser Seite (muss vollständig und gültig sein):
Ich suche nach einer vollständigen Liste von Ländern mit deren Ländercodes .
Gefällt mir auf dieser Seite (muss vollständig und gültig sein):
Antworten:
Die offizielle ISO 3166-1-Website ist wahrscheinlich die aktuellste Quelle für die aus zwei Buchstaben bestehenden Codes. Leider haben sie nicht die Alpha-3 online und zitieren ihre Website :
Wo finde ich den ISO 3166-1 Alpha-3-Ländercode zum kostenlosen Download auf der ISO 3166 / MA-Website?
Nirgends. Der Alpha-3-Code wird nicht kostenlos zur Verfügung gestellt. Sie können den internationalen Standard ISO 3166-1 in unserem ISO-Shop kaufen. Es enthält den dreistelligen Code.
Ein bisschen seltsam in der Internet-Ära, aber zum Glück gibt es einen Wikipedia-Artikel mit der vollständigen Liste und ein offizielles Dokument der Vereinten Nationen, das das Thema mit Ländercodes behandelt .
Aktualisieren:
Am CIA-Standort gibt es eine Liste mit FIPS 10, ISO 3166 Alpha2, ISO 3166 Alpha3, STANAG und Internet-TLD (z. B. .il oder .uk).
Linkzusammenfassung :
Beachten Sie, dass diese Liste Nicht-Länder-Einheiten wie Antartica enthält.
Wenn Sie Ihre Liste regelmäßig aktualisieren möchten, können Sie eine der Quellen löschen und die Ergebnisse in ein nützliches Format konvertieren. Ich habe dies hier getan, um die Wikipedia- Ländercodeliste in eine CSV-Datei umzuwandeln :
import csv
import urllib2
from BeautifulSoup import BeautifulSoup
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
url = 'http://en.wikipedia.org/wiki/ISO_3166-1'
page = opener.open(url)
soup = BeautifulSoup(page.read())
# "Current Codes" is second table on the page
t = soup.findAll('table', {'class' : 'wikitable sortable'})[1]
# create a new CSV for the output
iso_csv = csv.writer(open('wikipedia-iso-country-codes.csv', 'w'))
# get the header rows, write to the CSV
iso_csv.writerow([th.findAll(text=True)[0] for th in t.findAll('th')])
# Iterate over the table pulling out the country table results. Skip the first
# row as it contains the already-parsed header information.
for row in t.findAll("tr")[1:]:
tds = row.findAll('td')
raw_cols = [td.findAll(text=True) for td in tds]
cols = []
# country field contains differing numbers of elements, due to the flag --
# only take the name
cols.append(raw_cols[0][-1:][0])
# for all other columns, use the first result text
cols.extend([col[0] for col in raw_cols[1:]])
iso_csv.writerow(cols)
Sie finden alle (die meisten?) Zwei- und Drei-Buchstaben-Codes unter http://download.geonames.org/export/dump/countryInfo.txt - es gibt auch ISO-Nummern, FIPS-Codes und andere Länderinformationen.
Auf vielen Linux-Distributionen ist standardmäßig eine Liste der ISO-Ländercodes installiert:
/usr/share/xml/iso-codes/iso_3166.xml
Unter Fedora / CentOS / RHEL / Debian heißt das Paket, das diese Datei enthält iso-codes
( Projekt-Homepage ).
Die XML-Datei enthält das Mapping in einer hierarchischen Struktur:
<iso_3166_entries>
<iso_3166_entry
alpha_2_code="AF"
alpha_3_code="AFG"
numeric_code="004"
name="Afghanistan"
official_name="Islamic Republic of Afghanistan" />
[..]
Es kann über XPath und einen Shell-One-Liner in ein satzbasiertes Format (z. B. für den Datenbankimport) umgewandelt werden:
$ xmllint --noout --xpath \
'//iso_3166_entry/@*[name() = "alpha_2_code" or name()="alpha_3_code"]' \
/usr/share/xml/iso-codes/iso_3166.xml \
| sed 's/alpha_2/\nalpha_2/g' \
| awk -F'"' 'OFS="," {print $2,$4}'
Alternativ kann man das Python-Modul pycountry verwenden , um die Codes aus diesem Paket zu lesen und zu transformieren, zB:
$ pip3 install --user pycountry
$ python3
>>> import pycountry
>>> for i in pycountry.countries:
... print('{},{}'.format(i.alpha2,i.alpha3))
...
AF,AFG
AX,ALA
AL,ALB
[..]
Ich möchte pycountry hinzufügen, weil Sie ein Python-Tag haben und es so zu sein scheint, wie Sie es wollten. Aus den Dokumenten:
ISO-Länder-, Unterteilungs-, Sprach-, Währungs- und Skriptdefinitionen sowie deren Übersetzungen
pycountry stellt die ISO-Datenbanken für die Standards zur Verfügung:
639 Sprachen
3166 Länder
3166-3 Gelöschte Länder
3166-2 Untergliederungen von Ländern
4217 Währungen
15924 Skripte
Das Paket enthält eine Kopie von Debians pkg-Isocodes und macht die Daten über eine Python-API zugänglich.
Eine vollständige Alpha 2- und Alpha 3-Liste (plus weitere Informationen) erhalten Sie unter http://datahub.io/dataset/iso-3166-1-alpha-2-country-codes/resource/9c3b30dd-f5f3-4bbe-a3cb -d7b2c21d66ce Es gibt einen Link von http://datahub.io/dataset/iso-3166-1-alpha-2-country-codes
Ich habe das Skript von @ scw aktualisiert, das die Daten aus Wikipedia entfernt. Es wird jetzt requests
statt urllib2
Beautiful Soup 4 verwendet und es wird ein JSON ausgegeben, anstatt in eine CSV-Datei zu schreiben.
import json
import bs4
import requests
print(json.dumps(
[
{
['name', 'alpha_2', 'alpha_3', 'numeric'][no]:
td.find_all()[-1].text
for no, td in enumerate(row.find_all('td')[:-1])
}
for row in bs4.BeautifulSoup(
requests.get('http://en.wikipedia.org/wiki/ISO_3166-1').text
).find('table', {'class': 'wikitable sortable'}).find_all('tr')[1:]
],
indent=4,
ensure_ascii=False
))
Gibt einen JSON wie folgt aus:
[
{
"name": "Afghanistan",
"alpha_3": "AFG",
"alpha_2": "AF",
"numeric": "004"
},
{
"name": "Åland Islands",
"alpha_3": "ALA",
"alpha_2": "AX",
"numeric": "248"
},
...
Sie können diesen Code https://classic.scraperwiki.com/scrapers/iso_3166-1/edit/ verwenden - lxml ist immer schneller als BeautifulSoup.
Kopierte es hier:
import scraperwiki
import lxml.html
import urllib
import datetime
import json
from unidecode import unidecode
def get_html(title):
raw_json = scraperwiki.scrape("http://en.wikipedia.org/w/api.php?action=parse&format=json&page=" + title)
html = json.loads(raw_json)['parse']['text']['*']
return html
page_title = "ISO_3166-1"
html = get_html(page_title)
doc = lxml.html.fromstring(html)
for count, tr in enumerate(doc.cssselect('tr')):
row = [(td.text_content()) for td in tr.cssselect('td')]
if len(row)==5:
for ahref in tr.cssselect('a'):
detailink = ahref.attrib['href']
if detailink.find(':',0,len(detailink)) != -1:
detailink = detailink[6:]
print detailink
now = datetime.datetime.now()
data ={"tmsp_scraped":str(now), "eng_short_name":row[0], "alpha_2_code":row[1], "alpha_3_code":row[2], "numeric_code":row[3], "iso_31662_code":detailink}
scraperwiki.sqlite.save(unique_keys=["eng_short_name"], data=data, table_name="s_iso31661")
html = get_html(detailink)
doc = lxml.html.fromstring(html)
for count, tr in enumerate(doc.cssselect('tr')):
row = [td.text_content() for td in tr.cssselect('td')]
row2 = [td.text_content() for td in tr.cssselect('td')]
if len(row)>0:
if row[0][:2] == detailink[11:]:
now = datetime.datetime.now()
data = {"tmsp_scraped":str(now), "iso_31662_code":detailink, "region_code":row[0], "region_desc":row[1], "region_desc_utf8":row2[1]}
scraperwiki.sqlite.save(unique_keys=["iso_31662_code","region_code"], data=data, table_name="s_iso31662_region")
Eine weitere nette Bibliothek: https://github.com/neuront/python-iso3166
Es gibt auch einen großartigen Datensatz bei Open Knowledge Foundation, der ISO 3166 alpha3, alpha2, numerisch und viele andere umfasst.
Ich habe eine sehr schöne Datenbank im Github-Repo gefunden - https://github.com/stefangabos/world_countries
Im Moment des Repository Schreiben aus json
, csv
, sql
Dateien für 22 Sprachen mit unterschiedlichen Ländercodes: ISO 3166-1 alpha-3, ISO 3166-1 alpha-2 und dem vollständigen Namen.
Die Datenbank scheint ziemlich regelmäßig aktualisiert zu werden
Versuchen Sie diese Liste:
https://gist.github.com/eparreno/205900
Es verfügt über ISO 2-Buchstaben-, 3-Buchstaben- und numerische Codes mit Kurznamen in Landesform.
ein PHP-Array mit 3 Buchstaben ISO-Ländercodes aus Wikipedia-Artikel
Ich habe die Liste aus Wikipedia kopiert und eingefügt und das Array erstellt. Vielleicht kann dieser Code jemandem helfen, Zeit zu sparen, der eine Reihe von Ländercodes erstellen möchte. Ich bin nicht mit Python vertraut, aber die Erstellung von Arrays sollte ähnlich wie bei PHP sein.
$Countries=array();
array_push($Countries,"ABW");
array_push($Countries,"AFG");
array_push($Countries,"AGO");
array_push($Countries,"AIA");
array_push($Countries,"ALA");
array_push($Countries,"ALB");
array_push($Countries,"AND");
array_push($Countries,"ARE");
array_push($Countries,"ARG");
array_push($Countries,"ARM");
array_push($Countries,"ASM");
array_push($Countries,"ATA");
array_push($Countries,"ATF");
array_push($Countries,"ATG");
array_push($Countries,"AUS");
array_push($Countries,"AUT");
array_push($Countries,"AZE");
array_push($Countries,"BDI");
array_push($Countries,"BEL");
array_push($Countries,"BEN");
array_push($Countries,"BES");
array_push($Countries,"BFA");
array_push($Countries,"BGD");
array_push($Countries,"BGR");
array_push($Countries,"BHR");
array_push($Countries,"BHS");
array_push($Countries,"BIH");
array_push($Countries,"BLM");
array_push($Countries,"BLR");
array_push($Countries,"BLZ");
array_push($Countries,"BMU");
array_push($Countries,"BOL");
array_push($Countries,"BRA");
array_push($Countries,"BRB");
array_push($Countries,"BRN");
array_push($Countries,"BTN");
array_push($Countries,"BVT");
array_push($Countries,"BWA");
array_push($Countries,"CAF");
array_push($Countries,"CAN");
array_push($Countries,"CCK");
array_push($Countries,"CHE");
array_push($Countries,"CHL");
array_push($Countries,"CHN");
array_push($Countries,"CIV");
array_push($Countries,"CMR");
array_push($Countries,"COD");
array_push($Countries,"COG");
array_push($Countries,"COK");
array_push($Countries,"COL");
array_push($Countries,"COM");
array_push($Countries,"CPV");
array_push($Countries,"CRI");
array_push($Countries,"CUB");
array_push($Countries,"CUW");
array_push($Countries,"CXR");
array_push($Countries,"CYM");
array_push($Countries,"CYP");
array_push($Countries,"CZE");
array_push($Countries,"DEU");
array_push($Countries,"DJI");
array_push($Countries,"DMA");
array_push($Countries,"DNK");
array_push($Countries,"DOM");
array_push($Countries,"DZA");
array_push($Countries,"ECU");
array_push($Countries,"EGY");
array_push($Countries,"ERI");
array_push($Countries,"ESH");
array_push($Countries,"ESP");
array_push($Countries,"EST");
array_push($Countries,"ETH");
array_push($Countries,"FIN");
array_push($Countries,"FJI");
array_push($Countries,"FLK");
array_push($Countries,"FRA");
array_push($Countries,"FRO");
array_push($Countries,"FSM");
array_push($Countries,"GAB");
array_push($Countries,"GBR");
array_push($Countries,"GEO");
array_push($Countries,"GGY");
array_push($Countries,"GHA");
array_push($Countries,"GIB");
array_push($Countries,"GIN");
array_push($Countries,"GLP");
array_push($Countries,"GMB");
array_push($Countries,"GNB");
array_push($Countries,"GNQ");
array_push($Countries,"GRC");
array_push($Countries,"GRD");
array_push($Countries,"GRL");
array_push($Countries,"GTM");
array_push($Countries,"GUF");
array_push($Countries,"GUM");
array_push($Countries,"GUY");
array_push($Countries,"HKG");
array_push($Countries,"HMD");
array_push($Countries,"HND");
array_push($Countries,"HRV");
array_push($Countries,"HTI");
array_push($Countries,"HUN");
array_push($Countries,"IDN");
array_push($Countries,"IMN");
array_push($Countries,"IND");
array_push($Countries,"IOT");
array_push($Countries,"IRL");
array_push($Countries,"IRN");
array_push($Countries,"IRQ");
array_push($Countries,"ISL");
array_push($Countries,"ISR");
array_push($Countries,"ITA");
array_push($Countries,"JAM");
array_push($Countries,"JEY");
array_push($Countries,"JOR");
array_push($Countries,"JPN");
array_push($Countries,"KAZ");
array_push($Countries,"KEN");
array_push($Countries,"KGZ");
array_push($Countries,"KHM");
array_push($Countries,"KIR");
array_push($Countries,"KNA");
array_push($Countries,"KOR");
array_push($Countries,"KWT");
array_push($Countries,"LAO");
array_push($Countries,"LBN");
array_push($Countries,"LBR");
array_push($Countries,"LBY");
array_push($Countries,"LCA");
array_push($Countries,"LIE");
array_push($Countries,"LKA");
array_push($Countries,"LSO");
array_push($Countries,"LTU");
array_push($Countries,"LUX");
array_push($Countries,"LVA");
array_push($Countries,"MAC");
array_push($Countries,"MAF");
array_push($Countries,"MAR");
array_push($Countries,"MCO");
array_push($Countries,"MDA");
array_push($Countries,"MDG");
array_push($Countries,"MDV");
array_push($Countries,"MEX");
array_push($Countries,"MHL");
array_push($Countries,"MKD");
array_push($Countries,"MLI");
array_push($Countries,"MLT");
array_push($Countries,"MMR");
array_push($Countries,"MNE");
array_push($Countries,"MNG");
array_push($Countries,"MNP");
array_push($Countries,"MOZ");
array_push($Countries,"MRT");
array_push($Countries,"MSR");
array_push($Countries,"MTQ");
array_push($Countries,"MUS");
array_push($Countries,"MWI");
array_push($Countries,"MYS");
array_push($Countries,"MYT");
array_push($Countries,"NAM");
array_push($Countries,"NCL");
array_push($Countries,"NER");
array_push($Countries,"NFK");
array_push($Countries,"NGA");
array_push($Countries,"NIC");
array_push($Countries,"NIU");
array_push($Countries,"NLD");
array_push($Countries,"NOR");
array_push($Countries,"NPL");
array_push($Countries,"NRU");
array_push($Countries,"NZL");
array_push($Countries,"OMN");
array_push($Countries,"PAK");
array_push($Countries,"PAN");
array_push($Countries,"PCN");
array_push($Countries,"PER");
array_push($Countries,"PHL");
array_push($Countries,"PLW");
array_push($Countries,"PNG");
array_push($Countries,"POL");
array_push($Countries,"PRI");
array_push($Countries,"PRK");
array_push($Countries,"PRT");
array_push($Countries,"PRY");
array_push($Countries,"PSE");
array_push($Countries,"PYF");
array_push($Countries,"QAT");
array_push($Countries,"REU");
array_push($Countries,"ROU");
array_push($Countries,"RUS");
array_push($Countries,"RWA");
array_push($Countries,"SAU");
array_push($Countries,"SDN");
array_push($Countries,"SEN");
array_push($Countries,"SGP");
array_push($Countries,"SGS");
array_push($Countries,"SHN");
array_push($Countries,"SJM");
array_push($Countries,"SLB");
array_push($Countries,"SLE");
array_push($Countries,"SLV");
array_push($Countries,"SMR");
array_push($Countries,"SOM");
array_push($Countries,"SPM");
array_push($Countries,"SRB");
array_push($Countries,"SSD");
array_push($Countries,"STP");
array_push($Countries,"SUR");
array_push($Countries,"SVK");
array_push($Countries,"SVN");
array_push($Countries,"SWE");
array_push($Countries,"SWZ");
array_push($Countries,"SXM");
array_push($Countries,"SYC");
array_push($Countries,"SYR");
array_push($Countries,"TCA");
array_push($Countries,"TCD");
array_push($Countries,"TGO");
array_push($Countries,"THA");
array_push($Countries,"TJK");
array_push($Countries,"TKL");
array_push($Countries,"TKM");
array_push($Countries,"TLS");
array_push($Countries,"TON");
array_push($Countries,"TTO");
array_push($Countries,"TUN");
array_push($Countries,"TUR");
array_push($Countries,"TUV");
array_push($Countries,"TWN");
array_push($Countries,"TZA");
array_push($Countries,"UGA");
array_push($Countries,"UKR");
array_push($Countries,"UMI");
array_push($Countries,"URY");
array_push($Countries,"USA");
array_push($Countries,"UZB");
array_push($Countries,"VAT");
array_push($Countries,"VCT");
array_push($Countries,"VEN");
array_push($Countries,"VGB");
array_push($Countries,"VIR");
array_push($Countries,"VNM");
array_push($Countries,"VUT");
array_push($Countries,"WLF");
array_push($Countries,"WSM");
array_push($Countries,"YEM");
array_push($Countries,"ZAF");
array_push($Countries,"ZMB");
array_push($Countries,"ZWE");
Wenn Sie die Länderliste nicht hart codieren möchten (was ich nicht empfehle, da sie sich stark ändert), verwenden Sie diese URL, von der Sie den 2-Buchstaben-Code und den Ländernamen im JSON- Format erhalten: annsystem.com/api / getCountry
Es umfasst auch UN- und Nicht-UN- Mitgliedsländer.
Details und Parameter finden Sie hier: flossk.org/de/blog/country-list-good-all
Für den Fall, dass ein R-Benutzer auf diesen Thread stößt, ist hier die R-Lösung:
Das countrycode
Paket enthält eine vollständige Liste der Ländercodes in vielen verschiedenen Formaten. Aus der Paketdokumentation:
Unterstützt die folgenden Codierungsschemata: Korrelate von Kriegszeichen, CoW-Zahl, ISO3-Zahl, ISO3-Zahl, ISO2-Zahl, IWF-Zahl, Internationales Olympisches Komitee, FIPS 10-4, FAO-Zahl, Zahl der Vereinten Nationen, Weltbank-Zahl, offizielle englische Kurzlandnamen (ISO), Kontinent, Region.
Das Paket konvertiert auch zwischen verschiedenen Codes und kann Länder durch Standard- oder Nicht-Standardnamen mit regulären Ausdrücken identifizieren.
library(countrycode)
# data frame of country names and codes
head(countrycode_data)
# convert from CoW to ISO3
countrycode(c("ALG","ALB","UKG","CAN","USA"), origin = "cowc", destination = "iso3c")
# ISO2 code from non-standard name
countrycode("Britain", "country.name", "iso2c")
Verwenden Sie einfach Microsoft Excel Power BI-Tools, um die Daten aus Wikipedia zu extrahieren. Es dauert weniger als 30 Sekunden, um ein Excel-Scrape der Seite zu erstellen und es dann in einem beliebigen Format zu speichern.
Dies ist ein alter Thread, aber es lohnt sich, ihn zu aktualisieren.
Forward / Reverse-Lookups für Alpha2- und Alpha3-Ländercodes geben ein umfangreiches Objekt pro Land zurück, das Telefoncodes, Währung, ISO-Informationen, IOC-Informationen, Postleitzahlen und mehr enthält: https://github.com/rolinger/iso-country -Daten-Validierung / Einstellungen
Mit diesem NuGet-Paket können Länderinformationen (Name, ISO 2-Zeichen, ISO 3-Zeichen, ...) unter angrymonkeycloud.com/geography abgerufen werden .
Es ist ein kostenloser .Net-Client, der Informationen von einer RESTful-API abruft.