factbook/codes.csv - All 261 World Factbook Codes, Names, Regions, Categories

20 views
Skip to first unread message

Gerald Bauer

unread,
Sep 27, 2015, 5:19:27 PM9/27/15
to openmundi
Hello,

For easy (re)use I've put together all 261 world factbook codes
with all "official" names, regions and categories in a single
comma-separated values (CSV) file, that is, codes.csv [1]. Example:

Code,Name,Category,Region
af,Afghanistan,Countries,South Asia
al,Albania,Countries,Europe
ag,Algeria,Countries,Africa
ac,Antigua and Barbuda,Countries,Central America and Caribbean
ar,Argentina,Countries,South America
am,Armenia,Countries,Middle East
as,Australia,Countries,Australia-Oceania
...

Note: The next version of the factbook gem (library) has the
codes.csv built-in plus a Factbook::Codes class that lets you slice
and dice all codes. For examples, see the test_codes.rb script [2].
Example:

assert_equal 261, Factbook.codes.size

assert_equal 195, Factbook.codes.countries.size
assert_equal 52, Factbook.codes.dependencies.size
assert_equal 5, Factbook.codes.category('Oceans').size
assert_equal 1, Factbook.codes.category('World').size
assert_equal 2, Factbook.codes.others.size
assert_equal 6, Factbook.codes.misc.size

assert_equal 55, Factbook.codes.europe.size
assert_equal 9, Factbook.codes.south_asia.size
assert_equal 6, Factbook.codes.central_asia.size
assert_equal 22, Factbook.codes.east_n_souteast_asia.size
assert_equal 19, Factbook.codes.middle_east.size
assert_equal 56, Factbook.codes.africa.size
assert_equal 7, Factbook.codes.north_america.size
assert_equal 33, Factbook.codes.central_america_n_caribbean.size
assert_equal 14, Factbook.codes.south_america.size
assert_equal 30, Factbook.codes.australia_oceania.size
assert_equal 4, Factbook.codes.antartica.size
assert_equal 5, Factbook.codes.region('Oceans').size
assert_equal 1, Factbook.codes.region('World').size
...

Cheers.

[1] github.com/worlddb/factbook/blob/master/data/codes.csv
[2] github.com/worlddb/factbook/blob/master/test/test_codes.rb
Reply all
Reply to author
Forward
0 new messages