准备:
1.下载xlrd与xlwt扩展包
2.基本语法:参见百度
练习一 创建工作簿并向工作表中添加数据
![](https://img.haomeiwen.com/i5293947/5bf672d08ca1bc30.png)
![](https://img.haomeiwen.com/i5293947/39af5c1eaee487db.png)
练习二 内省Excel工作簿
![](https://img.haomeiwen.com/i5293947/c5ac2b4155e67114.png)
工作簿名为sales_2013,含有三份工作表:january_2013,february_2013,march_2013,每个工作表,7行5列
![](https://img.haomeiwen.com/i5293947/751f84aa7a6f71e9.png)
![](https://img.haomeiwen.com/i5293947/2bde6e8ed2dcf61c.png)
练习三 处理单个工作表(以january_2013为例)
3.1 将原工作表中的数据写入新工作表中
![](https://img.haomeiwen.com/i5293947/072567761bb355fb.png)
![](https://img.haomeiwen.com/i5293947/c3b2cd5fcd59732c.png)
3.2 格式化日期
由于Purchase Date列的日期显示为数值,而不是日期,因此需要格式化处理
![](https://img.haomeiwen.com/i5293947/2623419c41643680.png)
![](https://img.haomeiwen.com/i5293947/02db02360233b44f.png)
当单元格内含有日期数据时我们直接用cell_value函数获得的不是日期而是数值,所以需要用xldate_as_tuple处理
![](https://img.haomeiwen.com/i5293947/887528c6d459b4ee.png)
![](https://img.haomeiwen.com/i5293947/ff5872490325d47d.png)
3.3 筛选出销售金额小于1500.0的所有行
![](https://img.haomeiwen.com/i5293947/10e2c744c9317ac0.png)
红框部分为提前写入标题行
![](https://img.haomeiwen.com/i5293947/1f27d09b315c2e07.png)
基础回顾:对一个列表,既要遍历索引又要遍历元素时,有两种方法
![](https://img.haomeiwen.com/i5293947/caec77abf02114c0.png)
![](https://img.haomeiwen.com/i5293947/c3a67fde79b52ac6.png)
3.4 保留Customer Name 和Sale Amount两列
单个列表—索引位置,多个列表——索引标题
![](https://img.haomeiwen.com/i5293947/50f901163a12c198.png)
红框部分如果看不懂,最好把几个变量全部打印出来,思路就很清晰了.
![](https://img.haomeiwen.com/i5293947/840d501761392aa3.png)
练习四 处理所有工作表
4.1 筛选所有工作表中销售金额在1300~1800的行
![](https://img.haomeiwen.com/i5293947/fa619a7c67c51ffd.png)
添加控制语句first_worksheet = True,避免标题行重复写入
![](https://img.haomeiwen.com/i5293947/be7fc667c3770f23.png)
4.2 所有工作表中保留Customer Name和Invoice Number两列
![](https://img.haomeiwen.com/i5293947/da64e22fdf3c7b34.png)
红框部分为获取Customer Name和Invoice Number的列数位置,由于不同工作表中所在的列数位置有可能不同,所以用索引标题法
![](https://img.haomeiwen.com/i5293947/0c9123d44def5ff7.png)
练习五 在工作薄中读取一组工作表
比如我只想要处理juanary_2013和march_2013里面的数据
![](https://img.haomeiwen.com/i5293947/8df6d6a6791988c8.png)
workbook.sheet_by_name(name) :通过名称获取工作表
workbook.sheet_by_index(index):通过位置获取工作表
workbook.sheets(): 获取所有工作表
练习六 处理多个工作薄(注意是工作簿)
6.1 工作薄名,工作表名,工作表中行列数
![](https://img.haomeiwen.com/i5293947/93351a14060c9147.png)
![](https://img.haomeiwen.com/i5293947/528449ce42d54eb8.png)
6.2 将多个工作薄中的所有工作表的数据输入到一个输出文件中
![](https://img.haomeiwen.com/i5293947/33111ff5ac414c03.png)
代码看上去很多,实际上就是前面的代码的整合,没多少难度
![](https://img.haomeiwen.com/i5293947/6c20a78a1b473f02.png)
6.3 为每个工作簿和工作表计算总数和均值
示例代码由于较长这里就不放了,有问题的看教材即可
![](https://img.haomeiwen.com/i5293947/a3ee116ccc3e88a3.png)
网友评论