| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
“制作地图前,还需要解决数据存在的最后一个问题。 Pygal 中的地图制作工具要求数据为特定的格式:用国别码表示国家,以及用数字表示人口数量。处理地理政治数据时,经常 
需要用到几个标准化国别码集。 population_data.json 中包含的是三个字母的国别码,但 Pygal 使用两个字母的国别码。我们需要想办法根据国家名获取两个字母的国别码。 
Pygal 使用的国别码存储在模块 i18n ( internationalization 的缩写)中。字典 COUNTRIES 包含的键和值分别为两个字母的国别码和国家名。要查看这些国别码,可从模块 i18n 中导 
入这个字典,并打印其键和值:” 
 
书上要求写的代码如下: 
countries.py 
- from pygal.il8n import COUNTRIES
 
  
- for country_code in sorted(COUNTRIES.keys()):
 
 -     print(country_code,COUNTRIES[country_code])
 
  复制代码 
 
运行后会发现报错。 
“Traceback (most recent call last): 
  File "C:/Users/sesa430507/.spyder-py3/Project2-data visualization/Chapter 16 download data/countries.py", line 1, in <module> 
    from pygal.il8n import COUNTRIES 
ModuleNotFoundError: No module named 'pygal.il8n'” 
 
随后百度寻找,终于找到了对应的方法。 
对于报错,事实上,pygal.i18n 已经不存在了,现在已经更改成了 pygal_maps_world ,需要单独通过pip下载,我使用的是Python3,因此需要在终端使用 pip3 指令进行安装: 
- pip install pygal_maps_world
 
  复制代码 
 
安装成功之后,就可以正常调用国别码了。 
最终的代码: 
- from pygal_maps_world.i18n import COUNTRIES
 
  
- for country_code in sorted(COUNTRIES.keys()):
 
 -     print(country_code,COUNTRIES[country_code])
 
  复制代码 
 
打印出: 
ad Andorra 
ae United Arab Emirates 
af Afghanistan 
al Albania 
am Armenia 
ao Angola 
--snip-- 
 |   
 
 
 
 |