python中openpyxl读取或写信excel文件
Posted wakey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中openpyxl读取或写信excel文件相关的知识,希望对你有一定的参考价值。
一、openpyxl模块介绍
1、openpyxl是
读写Excel的python库,是一个比较综合的工具,能够同时读取和修改Excel文档
2、openpyxl中有三个不同层次的类,每一个类都有各自的属性和方法:
- Workbook是一个excel工作表
- Worksheet是工作表中的表单,如图
-
- Cell就是表单中的一个格
3、操作Excel的一般场景:
- 打开或者创建一个Excel需要创建一个Workbook对象
- 获取一个表则需要先创建一个Workbook对象,然后使用该对象的方法来得到一个Worksheet对象
4、Workbook对象
- 一个Workbook对象代表一个Excel文档,因此在操作Excel之前,都应该先创建一个Workbook对象。
- 对于一个已经存在的Excel文档,可以使用openpyxl模块的load_workbook函数进行读取,该函数包涵多个参数,但只有filename参数为必传参数。filename 是一个文件名,也可以是一个打开的文件对象。
二、安装openpyxl
模块
在cmd命令行下输入命令:pip install openpyxl
三、代码实现(在Pycharm中编写代码)
1、本地新建一个Excel表test_case.xlsx
2、复制test_case.xlsx到Pycharm:
3、用python操作excel
导入load_workbook库
from openpyxl import load_workbook
第一步:打开excel
workbook1=load_workbook(\'test_case.xlsx\')
第二步:定位表单(test_data)
sheet=workbook1[\'test_data\']
第三步:操作excel的test_data表单
1、定位单元格(cell),根据行列读取测试数据
data=sheet.cell(3,2).value
print(data)
特殊说明:
定位C2单元格数据{\'mobilephone\':\'13502288210\',\'pwd\':\'123456\'}
data=sheet.cell(2,3).value
查看C2单元格数据类型为,但实际为dict类型
print(type(data)) 输出str
将str类型转化为他原来的类型dict:eval(data)
print(type(eval(data))) 输出dict
综上可得:
- excel 存储的数据,数字还是数字:int—>int、 float—>float 、其他类型—>str
- 使用eval(数据) 将str类型转换为他原来的类型
2、定位单元格(cell),根据行列值,更改原有的数据、写入新的测试数据,
sheet.cell(3,2).value=\'妮妮\' #更改已经存在的测试数据
sheet.cell(6,3).value=\'小小\' #在空的单元格写入新的测试值
workbook1.save(\'test_case.xlsx\') #保存修改
3、统计行和列(参考上图)
max_row=sheet.max_row
max_cow = sheet.max_column
print(\'最大的行值:\',max_row) #输出6
print(\'最大的列值:\',max_cow) #输出7
以上是关于python中openpyxl读取或写信excel文件的主要内容,如果未能解决你的问题,请参考以下文章
Python + openpyxl 读取测试数据,通过Excel管理我们的测试用例数据
如何使用 Python 读取包含扩展字体的 Excel 文件? (openpyxl 错误:最大值为 14)