【Python】Python编程:从入门到实践读书会(16)

第十六章 下载数据

根据书本打代码时发现两个问题

1.from pygal.i18n 这个模块找不到:

解决:

pip3 install pygal_maps_world
from pygal_maps_world.i18n import COUNTRIES

2.pygal.Worldmap()找不到

解决:

wm = pygal.maps.world.World()

16.1 CSV文件格式

16.1.1 分析CSV文件头

  • 打开文件,获得文件对象
  • 调用csv.reader(文件对象),读取文件,得到与文件相关联的阅读器
  • next(阅读器):返回文件的下一行

16.1.2 打印文件头及其位置

  • enumerate():获取每个元素的索引及其值

16.1.3 提取并读取数据

  • for循环使用阅读器读下一行
  • 再用int()将字符串转换成int类型

16.1.5 模块datetime

  • datetime.striptime("转换时间","转换时间读取格式")
  • %Y-:第一个连字符前面的部分视为四位的年份
  • %m-:将第二个字符前面的部分视为表示月份的数字
  • %d:让字符串的最后一部分视为月份中的一天
  • %A:星期的名称
  • %B:月份的名称
  • %y:两位的年份
  • %H:24小时制的小时数
  • %I:12小时制的小时数
  • %p:am或pm
  • %M:分钟数
  • %S:秒数

16.1.6 在图表中添加日期

  • fig.autofmt_xdata():绘制斜的日期标签

16.1.9 给图表区域着色

  • alpha:指定颜色的透明度,0为完全透明,1为完全不透明
  • fill_between():传递一个x值,两个y值,facecolor指定了填充区域的着色

16.1.10 错误检查

  • try-except-else:检查ValueError

16.2 制作世界人口地图:JSON格式

16.2.2 提取相关数据

  • import json:导入json模块
  • json.load():将数据转换为Python能够处理的格式
  • json列表中每个元素都是一个字典,键-值对形式

16.2.3 将字符串转换为数字值

  • 使用int()
  • 如果出现小数点,可以先用float()转化为浮点数,再用int()转化为整数

16.2.4 获取两个字母的国别码

  • pygal使用的国别码存储在模块i18n中
  • 字典COUNTERIES包含的键和值分别为两个字母的国别码和国家名
  • get_country_code():接受国家名

16.2.5 制作世界地图

  • pygal根据国别码可以制作世界地图
  • pygal.Worldmap()
  • add():接受一个标签和一个列表,列表包含我们要突出的国家的国别码

16.2.6 在世界地图上呈现数字数据

  • add()方法中传递列表时,在国别码之后指定数据

16.2.9 使用pygal设置世界地图的样式

扫描二维码关注公众号,回复: 1919006 查看本文章
  • from pygal.style import RotateStyle
  • RotateStyle():接受一个实参,十六进制的RGB颜色

16.2.10 加亮颜色主题

  • from pygal.style import LightColorizeStyle
  • 可以独立使用,也可以和rotatestyle一起使用作为base_style

猜你喜欢

转载自blog.csdn.net/ysq96/article/details/80554641