EXCEL文件操作(一)
2018-04-14 本文已影响0人
江山画_孤影
准备:
1.下载xlrd与xlwt扩展包
2.基本语法:参见百度
练习一 创建工作簿并向工作表中添加数据
代码展示 运行结果练习二 内省Excel工作簿
示例图表工作簿名为sales_2013,含有三份工作表:january_2013,february_2013,march_2013,每个工作表,7行5列
代码展示 运行结果练习三 处理单个工作表(以january_2013为例)
3.1 将原工作表中的数据写入新工作表中
代码展示 运行结果3.2 格式化日期
由于Purchase Date列的日期显示为数值,而不是日期,因此需要格式化处理
示例 代码展示及运行结果当单元格内含有日期数据时我们直接用cell_value函数获得的不是日期而是数值,所以需要用xldate_as_tuple处理
完整代码展示 运行结果3.3 筛选出销售金额小于1500.0的所有行
代码展示,省略日期格式化过程红框部分为提前写入标题行
运行结果基础回顾:对一个列表,既要遍历索引又要遍历元素时,有两种方法
方法1 方法23.4 保留Customer Name 和Sale Amount两列
单个列表—索引位置,多个列表——索引标题
代码展示,省略日期格式化过程红框部分如果看不懂,最好把几个变量全部打印出来,思路就很清晰了.
运行结果练习四 处理所有工作表
4.1 筛选所有工作表中销售金额在1300~1800的行
代码展示添加控制语句first_worksheet = True,避免标题行重复写入
运行结果4.2 所有工作表中保留Customer Name和Invoice Number两列
代码展示红框部分为获取Customer Name和Invoice Number的列数位置,由于不同工作表中所在的列数位置有可能不同,所以用索引标题法
运行结果练习五 在工作薄中读取一组工作表
比如我只想要处理juanary_2013和march_2013里面的数据
代码展示workbook.sheet_by_name(name) :通过名称获取工作表
workbook.sheet_by_index(index):通过位置获取工作表
workbook.sheets(): 获取所有工作表
练习六 处理多个工作薄(注意是工作簿)
6.1 工作薄名,工作表名,工作表中行列数
简化版本-省略计数 运行结果6.2 将多个工作薄中的所有工作表的数据输入到一个输出文件中
完整代码代码看上去很多,实际上就是前面的代码的整合,没多少难度
运行结果部分截图6.3 为每个工作簿和工作表计算总数和均值
示例代码由于较长这里就不放了,有问题的看教材即可
运行结果