实例训练——绘制世界人口地图
人口数据为json格式文件,因此需使用json模块来处理他们
Pygal提供了一个适合初学者使用的地图创建工具,可以使用它来对人口数据进行可视化,以探索全球人口的分布情况。
(1)导入python自带的世界地图包和国别码的包
#导入世界地图包(python 自带世界地图包)
import pygal.maps.world
#导入国别码的包 COUNTRIES是一个字典类型的数据信息,key为国别名,value值为国家名
from pygal_maps_world.i18n import COUNTRIES
(2)下载世界人口数据集并查看数据的相关信息
filename="D:\python_test1\population_data.json"
with open(filename)as f:
#利用json模块读文件 json.load()
#pop_data json类型对象
pop_data=json.load(f)
print(pop_data)
#'Country Code': 'MEA', 'Year': '2000', 'Value': '312596988.293994'}, {'Country Name': 'Middle East & North Africa (all income levels)', 'Country Code': 'MEA', 'Year': '2001', 'Value': '318759417.157542'}, {'Country Name': 'Middle East & North Africa (all income levels)', 'Country Code': 'MEA', 'Year': '2002', 'Value': '325087018.594954'},......
【重难点】:
完成json格式文件相关操作
(1)json.dumps() 将Python对象编码成JSON字符串 ==>写入
(2)json.loads() 将已编码JSON字符串解码为Python对象(Json对象) ==>读取
(3)创建函数,根据国家名,找到相应的国别码
#创建函数,用于获取国别码 通过函数查找国别码,提高代码利用率
def get_country_code(country_name):
#根据指定的国家名称,返回Pygal使用的两个字母的国别码
for code,name in COUNTRIES.items():
if name==country_name:#如果找到需要的值
return code
#若没有找到,则返回none
return None
(4)可视化实例——绘制2010年世界人口地图
def show_populationmap():
filename="D:\python_test1\population_data.json"
with open(filename)as f:
#利用json模块读文件 json.load()