通过采集国家统计局“国家数据”网站中提供的中国历年人口数据,并对数据进行可视化的探索,发现了一些有意思和令人深思的现象和趋势。
有一些小伙伴后台留言希望公布一下采集“国家数据”网站人口数据的代码,在这里,就将总人口、人口出生率、人口年龄结构和人口平均寿命4项数据的代码公布出来,方便大家学习和使用。
涉及到的模块
在这里使用到的第三方库有requests,通过pip命令即可直接安装:
私信小编001 领取更多学习教程!也可以进学习基地:850 591 259
-
pip install requests
使用到的内置库有:
-
json:用于解析接口返回的数据;
-
csv:用于将数据写入到CSV文件中;
同时使用到的header请求头为:
-
headers = { -
'Host': 'data.stats.gov.cn', -
'Connection': 'keep-alive', -
'Accept': 'application/json, text/javascript, */*; q=0.01', -
'X-Requested-With': 'XMLHttpRequest', -
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36', -
'Referer': 'http://data.stats.gov.cn/easyquery.htm?cn=C01', -
'Accept-Encoding': 'gzip, deflate', -
'Accept-Language': 'zh-CN,zh;q=0.9', -
}
生成年份列表
-
# 获取年份列表 -
def get_year_list(): -
year_list = [] -
for i in range(1949,2017): -
year_list.append(str(i)) -
return year_list
总人口
总人口数据中包含年份、总人口、男性人口、女性人口、城镇人口、乡村人口5项,保存为总人口.csv文件:
-
# 总人口 -
def get_total_population(): -
year_list = get_year_list() -
with open('总人口.csv', 'a+', encoding='utf-8', newline='') as files: -
fieldnames = ['年份', '年末总人口(万人)', '男性人口(万人)', '女性人口(万人)', '城镇人口(万人)', '乡村人口(万人)'] -
writer = csv.DictWriter(files, fieldnames=fieldnames)

最低0.47元/天 解锁文章
3071

被折叠的 条评论
为什么被折叠?



