新增功能:
读取已经获取的JSON数据文件
• 并将AQI前5的数据输出到文件
列表排序
• list.sort(func)
func指定了排序的方法
• func可以通过lambda函数实现
读取已经获取的JSON数据文件
• 并将其转换成CSV文件
• CSV(Comma-Separated Values)是一种通用的、相对简单的文件格式
• 在商业和科学领域上广泛使用
• 规则
1. 以行为单位
2. 每行表示一条记录
3. 以英文逗号分wps的官网的下载的地址在哪里割每列数据(如果数据为空,逗号也要保留)
4. 列名通常放置在文件第一行
import csv
• csv.writerow(list) 将列表中的元素写入文件的一行中
根据输入的文件判断是JSON格式还是CSV格式,并进行相应的操作
文件操作补充:
CSV文件读取
imort csv
csv.reader() 将每行记录作为列表返回
• 使用with语句操作文件对象
使用with语句,不管在处理文件过程中是否发生异常,都能保证with语句执行完毕后关闭文件。不需要close()语句。
• os模块提供了与系统、目录操作相关的功能,不受平台的限制
为了能有效地提取并利用网络信息并工作提高效率,出现了网络爬虫
• 利用网络爬虫实时获取城市的空气质量wps office免费版的下载地址的方法
网络爬虫
自动抓取互联网信息的程序;利用互联网数据进行分析、开发产品
• 步骤:
1. 通过网络链接获取网页内容
2. 对获得的网页内容进行处理
wps的的官网最新的下载网址
requests模块
更多方法参考:http://docs.python-requests.org/
高效地解析和处理HTML,beautifulsoup4
BeautifulSoup
• 用于解析HTML或XML
• pip install beautifulsoup4
• import bs4
• 步骤
1. 创建BeautifulSoup对象
2. 查询节点
find,找到第一个满足条件的节点
find_all, 找到所有满足条件的节点
创建对象
• 创建BeautifulSoup对象
• bs = BeautifulSoup(
url,
html_parser, 指定解析器
enoding 指定编码格式(确保和网页编码格式一致)
)
查找节点
• <a href=‘a.html’ class=‘a_link’>next page</a>
• 可按节点类型、属性或内容访问
• 按类型查找节点
• bs.find_all(‘a’)
• 按属性查找节点
• bs.find_all(‘a’, href=‘a.html’)
• bs.find_all(‘a’, href=‘a.html’, string=‘next page’)
• bs.find_all(‘a’, class_=‘a_link’)
• 注意:是class_
• 或者bs.find_all(‘a’, {‘class’:’a_link’})
网站审查元素:找到div节点
功能:利用beautifulsoup4获取所有城市的空气质量
1. 首先获取所有的城市列表,及对应的url
2. 根据url获取城市的空气质量(6.0程序)
新增功能:将获取的所有城市空气质量保存成CSV数据文件
新增功能:• 利用Pandas进行数据处理分析
Pandas
• wps官网最新下载的网址在哪(wps官网最新地址是) 一个强大的分析结构化数据的工具集
• 基础是NumPy,提供了高性能矩阵的运算
• 应用,数据挖掘,数据分析
• 如,学生成绩分析、股票数据分析等。
• 提供数据清洗功能
Pandas的数据结构
Series
• 类似一维数组的对象
• 通过list构建Series
• ser_obj = pd.Series(range(10))
• 由数据和索引组成
• 索引在左,数据在右
• 索引是自动创建的
• 获取数据和索引
• ser_obj.index, ser_obj.values
• 预览数据
• ser_obj.head(n) #获取前n个数据
Series (续)
• 通过索引获取数据
• ser_obj[idx]
• 索引与数据的对应关系仍保持在数组运算的结果中
• 通过dict构建Series
• name属性
• ser_obj.name, ser_obj.index.name
DataFrame
• 类似多维数组/表格数据 (如,excel, R中的data.frame)
• 每列数据可以是不同的类型,what about ndarray?
• 索引包括列索引和行索引
DataFrame
• 通过ndarray构建DataFrame
• 通过dict构建DataFrame
• 通过列索引获取列数据(Series类型 )
• df_obj[col_idx] 或 df_obj.col_idx
• 增加列数据,类似dict添加key-value
• df_obj[new_col_idx] = data
• 删除列
• del df_obj[col_idx]
索引操作
• DataFrame索引
• 列索引
• df_obj[‘label’]
• 不连续索引
• df_obj[[‘label1’, ‘label2’]]
排序
• sort_index,索引排序
• 对DataFrame操作时注意轴方向
• 按值排序
• sort_values(by=‘label’)
常用的统计计算
• sum, mean, max, min…
• axis=0 按列统计,axis=1按行统计
• skipna 排除缺失值, 默认为True
• idmax, idmin, cumsum
统计描述
• describe 产生多个统计数据
新增功能:数据清洗;利用Pandas进行数据可视化
• 处理缺失数据
dropna() 丢弃缺失数据
fillna() 填充缺失数据
• 数据过滤
df[filter_condition] 依据filter_condition对数据进行过滤
Pandas数据可视化
Pandas提供了内建的绘图功能(基于matplotlib)
• plot(kind, x, y, title, figsize)
x, y 横纵坐标对应的数据列
title图像名称
figsize图像尺寸
• 保存图片
plt.savefig()
• 更多例子请参考:https://pandas.pydata.org/pandas-docs/stable/visualization.html