ค้นหารายชื่อรหัสประเทศ ISO ALPHA-2 และ ISO ALPHA-3 ทั้งหมดหรือไม่


23

ฉันหารายชื่อของประเทศที่มีรหัสประเทศของพวกเขา

กดไลค์บนหน้านี้ (ต้องการแบบเต็มและถูกต้อง):

http://www.nationsonline.org/oneworld/country_code_list.htm


Perl Locale ::การแจกจ่ายรหัสนั้นครอบคลุมและมีการบำรุงรักษาอย่างแข็งขัน
Dave Baird

หากเป็นข้อมูลแบบเปิดที่คุณต้องการฉันคิดว่าสถานที่ถามคือOpen Data Stack Exchange
PolyGeo

คำตอบ:


31

เว็บไซต์อย่างเป็นทางการ 3166-1น่าจะเป็นแหล่งที่มาของการปรับปรุงมากที่สุดสำหรับรหัสตัวอักษรสองตัว น่าเสียดายที่พวกเขาไม่มีอัลฟา -3 ออนไลน์โดยอ้างถึงเว็บไซต์ของพวกเขา :

ฉันจะหารหัสประเทศ ISO 3166-1 alpha-3 ได้ฟรีที่เว็บไซต์ ISO 3166 / MA

ไม่มีที่ไหนเลย รหัส alpha-3 ไม่มีให้บริการฟรี คุณสามารถซื้อมาตรฐานสากล ISO 3166-1 จาก ISO Store ของเรา มันมีรหัสสามตัวอักษร

บิตแปลกในยุคอินเทอร์เน็ต แต่โชคดีที่มีบทความวิกิพีเดียมีรายการเต็มรูปแบบและเอกสารอย่างเป็นทางการของสหประชาชาติที่ครอบคลุมเรื่องที่มีรหัสประเทศ

ปรับปรุง:

มีรายการอยู่ที่ไซต์ CIA ที่มี FIPS 10, ISO 3166 Alpha2, ISO 3166 Alpha3, STANAG และ TLD อินเทอร์เน็ต (เช่น .il หรือ. uk)

สรุปลิงก์ :

โปรดทราบว่ารายการเหล่านี้มีเอนทิตีที่ไม่ใช่ประเทศเช่น Antartica


2
คำตอบนี้เป็นประโยชน์ 100% เป็นลิงค์แรกเว็บไซต์อย่างเป็นทางการตอนนี้ยังให้รหัส alpha-3 ฟรีในตาราง copypastable ในรูปแบบที่ดี
Dirk van Bergen

@DirkvanBergen นั่นเป็นท่าที่ดี แต่โต๊ะของพวกเขาอยู่ไกลจากการจัดรูปแบบเป็นอย่างดี การให้เลขหน้า 10 หน้าไม่มีลิงก์ CSV
Adam Matan

4
ใช้ลิงค์ทางด้านซ้ายเพื่อแสดงเฉพาะรหัสที่ได้รับมอบหมายจากนั้นตั้งค่าหน้าให้แสดง 300 และคุณมีทุกอย่างคัดลอกแปะไปที่ excel และ (ab) ใช้ในทุกวิธีที่คุณต้องการ
Dirk van Bergen

14

หากคุณต้องการอัปเดตรายการของคุณเป็นระยะคุณสามารถขูดแหล่งข้อมูลใดแหล่งหนึ่งและแยกวิเคราะห์ผลลัพธ์ในรูปแบบที่มีประโยชน์ ฉันได้ทำที่นี่เพื่อแปลงรายการรหัสประเทศ Wikipedia เป็น CSV :

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)

ฉันชอบวิธีนี้ ฉันอัปเดตสคริปต์นี้เพื่อใช้ไลบรารีล่าสุดและเอาต์พุต JSON แทนที่จะเขียนลงในไฟล์ CSV: gis.stackexchange.com/a/151571/54020
gitaarik

7

คุณสามารถค้นหาทั้งหมด (ส่วนใหญ่?) ของรหัสตัวอักษรสองและสามตัวในhttp://download.geonames.org/export/dump/countryInfo.txt - นอกจากนี้ยังมีรหัสตัวเลข ISO และ fips และข้อมูลประเทศอื่น ๆ


2
นี่เป็นรูปแบบที่ดี แต่ตอนนี้ล้าสมัยแล้ว ไม่มีรหัสสำหรับ South Sudan และ Kosovo
แมทธิว

6

บน Linux ดิสทริบิวเตอร์รายการของรหัสประเทศ iso ถูกติดตั้งโดยค่าเริ่มต้นภายใต้:

/usr/share/xml/iso-codes/iso_3166.xml

ภายใต้Fedora / CentOS / RHEL / Debianแพ็คเกจที่มีไฟล์นี้เรียกว่าiso-codes( หน้าแรกของโครงการ )

ไฟล์ XML มีการแมปในโครงสร้างแบบลำดับชั้น:

<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" />
[..]

สามารถแปลงเป็นรูปแบบตามเรคคอร์ด (เช่นการนำเข้าฐานข้อมูล) ผ่าน XPath และ shell one liner:

$ 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}'

หรืออีกวิธีหนึ่งสามารถใช้โมดูลหลามpycountryการอ่านและการแปลงรหัสจากแพคเกจที่เช่นนี้:

$ pip3 install --user pycountry
$ python3
>>> import pycountry
>>> for i in pycountry.countries:
...   print('{},{}'.format(i.alpha2,i.alpha3))
...
AF,AFG
AX,ALA
AL,ALB
[..]

จากซอร์สโค้ด debian salsa.debian.org/iso-codes-team/iso-codesซึ่งรวมถึงการแปล.
po

5

ฉันต้องการเพิ่มpycountryเนื่องจากคุณมีแท็กหลามและดูเหมือนจะเป็นสิ่งที่คุณต้องการ จากเอกสาร:

ประเทศ ISO แผนกย่อยภาษาสกุลเงินและคำจำกัดความของสคริปต์และการแปล

pycountry จัดเตรียมฐานข้อมูล ISO สำหรับมาตรฐาน:

639 ภาษา

3166 ประเทศ

3166-3 ประเทศที่ถูกลบ

3166-2 เขตการปกครองของประเทศ

4217 สกุลเงิน

15924 สคริปท์

แพ็คเกจประกอบด้วยสำเนาจาก pkg-isocodes ของ Debian และทำให้สามารถเข้าถึงข้อมูลผ่าน Python API ได้



2

ฉันอัปเดตสคริปต์ของ @ scw ซึ่งคัดลอกข้อมูลจาก Wikipedia ตอนนี้ใช้requestsแทนurllib2Beautiful Soup 4 และส่งออก JSON แทนที่จะเขียนลงในไฟล์ CSV

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
))

แสดงผล JSON เช่น:

[
    {
        "name": "Afghanistan",
        "alpha_3": "AFG",
        "alpha_2": "AF",
        "numeric": "004"
    },
    {
        "name": "Åland Islands",
        "alpha_3": "ALA",
        "alpha_2": "AX",
        "numeric": "248"
    },

    ...

ฉันชอบวิธีนี้เป็นไปได้ไหมที่จะเปลี่ยนคีย์ JSON เป็น "alpha_3" หรือ "alpha_2" แทนที่จะเป็นรายการ?
benck

1

คุณสามารถใช้รหัสนี้https://classic.scraperwiki.com/scrapers/iso_3166-1/edit/ - lxml จะเร็วกว่า BeautifulSoup เสมอ

คัดลอกมาที่นี่:

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")

อีกหนึ่งห้องสมุดที่ดี: https://github.com/neuront/python-iso3166



1

ฉันพบฐานข้อมูลที่ดีมากใน repo github - https://github.com/stefangabos/world_countries

ในช่วงเวลาของการเขียนที่เก็บประกอบด้วยjson, csv, sqlไฟล์สำหรับ 22 ภาษาที่มีรหัสประเทศที่แตกต่างกัน: 3166-1, 3166-1 ชื่อ alpha-2 และเต็ม alpha-3

ดูเหมือนว่าฐานข้อมูลจะได้รับการปรับปรุงอย่างสม่ำเสมอ



0

php Array ด้วยรหัสประเทศ ISO 3 ตัวอักษรจากบทความ Wikipedia

ฉันคัดลอกและวางรายการจาก Wikipedia และสร้างอาร์เรย์ บางทีรหัสนี้อาจช่วยให้ใครบางคนประหยัดเวลาได้ซึ่งต้องการสร้างรหัสประเทศมากมาย ฉันไม่คุ้นเคยกับงูหลาม แต่การสร้างอาร์เรย์ควรจะคล้ายกับ PHP

$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");

0

หากคุณไม่ต้องการรหัสหนักหนารายชื่อประเทศ (ซึ่งฉันไม่แนะนำเพราะมันเปลี่ยนแปลงไปมาก) ใช้ URL นี้ซึ่งคุณจะได้รับรหัส 2 ตัวอักษรและชื่อประเทศในรูปแบบJSON : annsystem.com/api / getCountry

นอกจากนี้ยังรวมถึงประเทศที่เป็นสมาชิกสหประชาชาติและประเทศที่ไม่ใช่สมาชิกสหประชาชาติ

สำหรับรายละเอียดและพารามิเตอร์ดูที่นี่: flossk.org/en/blog/country-list-good-all


0

ในกรณีที่ผู้ใช้ R สะดุดกับกระทู้นี้นี่คือทางออกของ R:

countrycodeแพคเกจประกอบด้วยรายการเต็มรูปแบบของรหัสประเทศในรูปแบบที่แตกต่างกันมาก จากเอกสารแพคเกจ:

รองรับรูปแบบการเข้ารหัสดังต่อไปนี้: ความสัมพันธ์ของตัวละครสงคราม, CoW- ตัวเลข, ตัวอักษร ISO3, ISO3- ตัวเลข, ISO2- ตัวอักษร, ตัวเลข IMF, คณะกรรมการโอลิมปิกระหว่างประเทศ, FIPS 10-4, ตัวเลข FAO, ตัวเลขสหประชาชาติ, ธนาคารโลก ชื่อประเทศอังกฤษสั้นอย่างเป็นทางการ (ISO), ทวีป, ภูมิภาค

แพ็คเกจนี้จะแปลงระหว่างรหัสอื่นและสามารถระบุประเทศตามชื่อมาตรฐานหรือชื่อที่ไม่ได้มาตรฐานโดยใช้นิพจน์ทั่วไป

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")

0

ใช้เครื่องมือ Microsoft Excel Power BI เพื่อดึงข้อมูลจาก Wikipedia มันใช้เวลามากกว่า 30 วินาทีในการสร้างหน้าขูด Excel และบันทึกลงในรูปแบบใดก็ได้ที่คุณต้องการ


0

นี่เป็นเธรดเก่า แต่ก็คุ้มค่าสำหรับการอัพเดตนี้

ค้นหาไปข้างหน้า / ย้อนกลับค้นหารหัสประเทศของ Alpha2 และ Alpha3 ส่งคืนวัตถุขนาดใหญ่ต่อประเทศที่มีรหัสโทรศัพท์สกุลเงินข้อมูล iso ข้อมูล IOC รหัสไปรษณีย์และอื่น ๆ : https://github.com/rolinger/iso-country -Data การตรวจสอบ / การตั้งค่า


-2

เพื่อดึงข้อมูลประเทศ (ชื่อ, ISO 2 ถ่าน, ISO 3 ถ่าน, ... ) คุณสามารถใช้แพคเกจ NuGet ที่angrymonkeycloud.com/geography

มันเป็นไคลเอนต์. Net ฟรีที่ดึงข้อมูลจาก RESTful API

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.