국가 코드를 사용하여 국가 의 전체 목록을 찾고 있습니다 .
이 페이지에서와 같이 (완전하고 유효한) :
국가 코드를 사용하여 국가 의 전체 목록을 찾고 있습니다 .
이 페이지에서와 같이 (완전하고 유효한) :
답변:
ISO 3166-1 공식 사이트는 아마도 두 문자 코드에 대한 가장 업데이트 된 소스입니다. 불행히도, 그들은 알파 3을 온라인으로 가지고 있지 않아 사이트를 인용합니다 :
ISO 3166 / MA 웹 사이트에서 무료로 다운로드 할 수있는 ISO 3166-1 alpha-3 국가 코드는 어디에서 찾을 수 있습니까?
아무데도. 알파 -3 코드는 무료로 제공되지 않습니다. ISO Store에서 국제 표준 ISO 3166-1을 구입할 수 있습니다. 3 글자 코드가 들어 있습니다.
A는 인터넷 시대에 이상한 비트 그러나 운 좋게하는이 전체 목록 위키 백과 문서 와 국가 코드로, 주제를 다루고 유엔 공식 문서 .
최신 정보:
CIA 사이트 에는 FIPS 10, ISO 3166 Alpha2, ISO 3166 Alpha3, STANAG 및 인터넷 TLD (예 : .il 또는 .uk)가 포함 된 목록이 있습니다.
링크 요약 :
이 목록에는 Antartica와 같은 비 국가 엔터티가 포함되어 있습니다.
목록을 정기적으로 업데이트하려는 경우 소스 중 하나를 긁어 그 결과를 유용한 형식으로 구문 분석 할 수 있습니다. 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)
http://download.geonames.org/export/dump/countryInfo.txt 에서 2 개 및 3 개의 문자 코드 모두 (대부분?)를 찾을 수 있습니다. ISO 숫자 및 fips 코드 및 기타 국가 정보도 있습니다.
많은 Linux 배포에서 iso 국가 코드 목록은 기본적으로 다음에 설치됩니다.
/usr/share/xml/iso-codes/iso_3166.xml
아래 페도라 / CentOS는 / RHEL / 데비안 ,라고이 파일이 포함 된 패키지 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와 쉘 원 라이너를 통해 레코드 기반 형식 (예 : 데이터베이스 가져 오기)으로 변환 할 수 있습니다.
$ 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}'
또는 Python 모듈 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
[..]
내가 추가 할 pycountry을 당신이 파이썬 태그를 가지고 당신이 원하는 것을 보인다 때문이다. 문서에서 :
ISO 국가, 세분, 언어, 통화 및 스크립트 정의 및 번역
pycountry는 표준에 대한 ISO 데이터베이스를 제공합니다.
639 언어
3166 개국
3166-3 삭제 된 국가
3166-2 국가의 세분
4217 통화
15924 스크립트
이 패키지에는 데비안의 pkg-isocodes 사본이 포함되어 있으며 Python API를 통해 데이터에 액세스 할 수 있습니다.
http://datahub.io/dataset/iso-3166-1-alpha-2-country-codes/resource/9c3b30dd-f5f3-4bbe-a3cb 에서 전체 Alpha 2 및 Alpha 3 목록 (및 기타 정보)을 얻을 수 있습니다. -d7b2c21d66ce http://datahub.io/dataset/iso-3166-1-alpha-2-country-codes에 링크가 있습니다.
Wikipedia에서 데이터를 스크랩하는 @scw의 스크립트를 업데이트했습니다. 지금 사용하는 requests
대신에 urllib2
, 아름다운 수프 4 대신 CSV 파일로 작성하는 JSON을 출력합니다.
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"
},
...
이 코드를 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
Open Knowledge Foundation에는 ISO 3166 alpha3, alpha2, numeric 및 기타 많은 데이터 세트가 포함되어 있습니다.
나는 GitHub의의의 repo에 아주 좋은 데이터베이스를 발견 - https://github.com/stefangabos/world_countries
현재 리포지토리를 작성하는 시점에는 ISO 3166-1 alpha-3, ISO 3166-1 alpha-2 및 전체 이름과 같은 국가 코드가 다른 22 개 언어 파일 json
인 csv
,가 sql
있습니다.
데이터베이스가 꽤 정기적으로 업데이트되는 것 같습니다
Wikipedia 기사의 3 자 ISO 국가 코드가있는 PHP 배열
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");
국가 목록을 하드 코딩하지 않으려면 (많이 변경되기 때문에 권장하지 않습니다) JSON 형식 의 2 문자 코드와 국가 이름을 얻는이 URL을 사용하십시오 : annsystem.com/api / getCountry
또한 UN 및 비 UN 회원국 도 포함됩니다 .
자세한 내용 및 매개 변수는 여기를 참조하십시오 : flossk.org/en/blog/country-list-good-all
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")
이것은 오래된 스레드이지만 업데이트 할 가치가 있습니다.
Alpha2 및 Alpha3 국가 코드의 정방향 / 역방향 조회는 전화 코드, 통화, ISO 정보, IOC 정보, 우편 번호 등을 포함하여 국가별로 대규모 개체를 반환합니다. https://github.com/rolinger/iso-country -데이터 유효성 검사 / 설정
국가 정보 (이름, ISO 2 문자, ISO 3 문자 등)를 검색하려면 angrymonkeycloud.com/geography 에서이 NuGet 패키지를 사용할 수 있습니다 .
RESTful API에서 정보를 검색하는 무료 .Net 클라이언트입니다.