《Python入门到实践》——项目2(16.2.4 获取两个字母的国别码)
“制作地图前,还需要解决数据存在的最后一个问题。 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)
运行后会发现报错。
“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)
打印出:
ad Andorra
ae United Arab Emirates
af Afghanistan
al Albania
am Armenia
ao Angola
--snip--
可以把population_data.json发一份给我吗? 源程序没有{:5_92:} 赞 帅楠楠 发表于 2018-6-22 22:54
可以把population_data.json发一份给我吗? 源程序没有
才看到,不好意思。不知道你找到了没? 感谢楼主,顺利解决问题 帅楠楠 发表于 2018-6-22 22:54
可以把population_data.json发一份给我吗? 源程序没有
可以访问一下网址获取,参考csdn博主https://blog.csdn.net/weixin_40892578/article/details/104601661
页:
[1]