python利⽤openpyxl库操作Excel来读取、修改、写⼊测试数据⼀、openpyxl模块介绍
1、openpyxl是读写Excel的python库,是⼀个⽐较综合的⼯具,能够同时读取和修改Excel⽂档
2、openpyxl中有三个不同层次的类,每⼀个类都有各⾃的属性和⽅法:
Workbook是⼀个excel⼯作表
Worksheet是⼯作表中的表单,如图
Cell就是表单中的⼀个格
3、操作Excel的⼀般场景:
打开或者创建⼀个Excel需要创建⼀个Workbook对象
获取⼀个表则需要先创建⼀个Workbook对象,然后使⽤该对象的⽅法来得到⼀个Worksheet对象
4、Workbook对象
python怎么读取excel文件数据⼀个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),根据⾏列读取测试数据
ll(3,2).value
print(data)
特殊说明:
定位C2单元格数据{'mobilephone':'135********','pwd':'123456'}
ll(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),根据⾏列值,更改原有的数据、写⼊新的测试数据,ll(3,2).value='妮妮'          #更改已经存在的测试数据
3、统计⾏和列(参考上图)
max_row=sheet.max_row
max_cow = sheet.max_column
print('最⼤的⾏值:',max_row)    #输出6
print('最⼤的列值:',max_cow)  #输出7
从excel中读取测试⽤例:
1#读取每⼀条测试⽤⽤例分别保存到字典中,然后再将所有⽤例保存到列表中,如[{⽤例1},{⽤例2},{⽤例3}] 2def  read_case():
3    workbook1=load_workbook('test_case.xlsx')
4    sheet=workbook1['test_data']
5    max_row=sheet.max_row
6    test_case=[]
7for row in range(2,max_row+1):
8        sub_data={}
9        sub_data['case_id']=ll(row,1).value
10        sub_data['title']=ll(row,2).value
11        sub_data['data']=ll(row,3).value
12        sub_data['method']=ll(row,4).value
13        sub_data['expected']=ll(row,5).value
14        test_case.append(sub_data)
15print("读取到的所有测试⽤例:",test_case)
16
17 read_case()
read_case

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。