制作世界人口地图,用json模块来处理,将人口数据进行可视化!!!
下载JSON格式的人口数据,下面附上完整的,在网站中https://datahub.io/下载的数据集的详细过程!!!
1、下载世界人口数据
附上网站超链接:https://datahub.io/
网站是纯英文版的(不慌详细流程见下方!)
1、进入界面后在搜索框中输入World population data(即世界人口数据),点击Search Datasets
2、点击第一个中的Explore Dataset
3、向下滑动至Data File,这边的话我们选择压缩包形式,里面包含了csv和json,点击后会出现下载框,下载即可。
4、解压,打开压缩包,这时候我们发现里面有一些文件,这边我们只需要data文件中的数据就行
5、打开csv文件我们发现里面包含了4列数据,如下所示
6、打开json文件,发现这个文件中实际上是一个很长的python列表,每个元素都是包含4个键的字典
到这一步,下载世界人口数据完毕!!!
为了便于操作方便,更快的学习。
这边附上直接下载csv和json压缩包的链接地址:https://pkgstore.datahub.io/core/population/population_zip/data/4e22dd3646c87e44fcaf119d34439291/population_zip.zip
2、提取相关数据
打印json文件中的信息
新建world_population.py文件
将population_json.json文件拖到项目所在的文件夹下
import json #导入json模块
#将数据添加到一个列表
filename='population_json.json'
with open(filename) as f:
pop_data=json.load(f)
#函数json.load()将数据转换为Python能够处理的格式,这里是一个列表
#打印每个国家2010年人口的数量
for pop_dict in pop_data:
if pop_dict['Year']==2010:
country_name = pop_dict["Country Name"]
population = pop_dict["Value"]
print(country_name + ":" + str(population))
检查字典中的Year键是否为2010
输出一系列的国家名称和人口数量,效果图如下:
为了便于数据的处理方便,这边将人口数据,先转换为float型,转换为小数,再使用int型将小数部分丢弃,返回一个整数。
在world_population.py文件中修改即可:
population = int(float(pop_dict["Value"]))
效果图如下: