美文网首页程序员
EXCEL文件操作(一)

EXCEL文件操作(一)

作者: 江山画_孤影 | 来源:发表于2018-04-14 21:25 被阅读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 方法2

3.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 为每个工作簿和工作表计算总数和均值

示例代码由于较长这里就不放了,有问题的看教材即可

运行结果

相关文章

网友评论

    本文标题:EXCEL文件操作(一)

    本文链接:https://www.haomeiwen.com/subject/pvhvhftx.html