python基础学习:python读写EXCEL:使用openpyxl库读取用例模板,在指定位置写入数据

在软件测试中执行测试用例是总是要进行读写Excel的操作,本文主要介绍了读取用例模板,在指定的位置写入数据。

目录

 一.安装第三方库

二.打开工作表

三.定位表单(sheet)

3.1 active

3.2 指定表单名 

四.读取Excel数据

4.1读取单个单元格中的值

4.2读取多行数据 

五.写入数据

5.1 定位单元格后写入

5.2定位表单后写入 

5.3 写入多行数据

六.保存文件并关闭

代码


使用openpyxl库实现对Excel文件的读取,写入,包含定位表单的方法,读取所有数据,按表单读取,多行读取,以及指定位置写入数据,定位单元格后写入,定位表单后写入,使用append实现多行写入等内容。

 一.安装第三方库

pip install openpyxl

若提示失败,则检查python.exe和pip配置环境变量有没有配置,或考虑在官方库下载离线安装

openpyxl官方库:

二.打开工作表

workbook=openpyxl.load_workbook('filepath')
  • workbook :工作簿对象,可自己新建文件创建,以下是未创建工作簿时创建workbook的示例
  • workbook=openpyxl.Workbook#声明workbook对象
    workbook.save(filename)#保存  filename为文件相对路径或绝对路径
  • load_workbook属性:获取工作簿对象(获取属性前,先要加载工作簿)
  • filepath:已创建的Excel的相对路径或绝对路径

三.定位表单(sheet)

3.1 active

active默认定位第一个激活的表单

wooksheet=workbook.active
3.2 指定表单名 
worksheet=workbook['sheet1']

3.3 获取所有表单名

print(workbook.sheeetnames)

四.读取Excel数据

4.1读取单个单元格中的值


定位单元格创建一个cell对象,相当于一个单元格,使用Cell对象中的value属性获取单元格中的值

one_cell=worksheet.cell(row=2,column=2)
print(one_cell.value)
#或者是下面这种方法
#a=worksheet.cell(2,2).value  
#print(a)
4.2读取多行数据 
test_cases=[]
for row in ws.iter_rows(min_row=2):#从第二行开始读取
    test_case_data=[cell for cell in row]
    test_cases.append(test_case_data)
for test_case in test_cases:#输出读取的数据
    print(test_case)

五.写入数据

5.1 定位单元格后写入
one_cell.value="商品"
5.2定位表单后写入 
worksheet.cell(row=2,column=3,value="食品")
5.3 写入多行数据
test_case=[
    ['商品','毛巾'],
    ['数量','1111'],
]
#使用append实现多行写入
for row_data in test_case:
    ws.append(row_data)

#使用双重循环遍历测试用例数据
#外层循环遍历行,内循环遍历列,实现多行写入
for row_data,data in enumerate(test_case,start=1):
    for col_data,value in enumerate(data,start=1):
        ws.cell(row=row_data,column=col_data,value=value)

六.保存文件并关闭

wb.save('filepath')#filepath文件路径
# 关闭文件
wb.close()

代码

#python读写EXCEL:读取用例模板,在指定位置写入数据。
import openpyxl
from openpyxl import load_workbook
# (1)打开模板文件
wb= openpyxl.load_workbook('D:\\17test\\01demo\\新建 XLSX 工作表.xlsx')

#定位表单的方法
#第一种active默认第一个激活的表单
ws=wb.active
#第二种指定表单名
# ws = wb['sheet1']
#第三种获取所有的表单名
# print(wb.sheetnames)

#定位单元格创建一个cell对象,相当于一个单元格
one_cell=ws.cell(row=2,column=2)
#使用Cell对象中的value属性获取单元格中的值
print(one_cell.value)
#a=ws.cell(2,2).value  print(a)
#读取多行数据
test_cases=[]
for row in ws.iter_rows(min_row=2):#从第二行开始读取
    test_case_data=[cell for cell in row]
    test_cases.append(test_case_data)
for test_case in test_cases:#输出读取的数据
    print(test_case)

#(2)在指定位置写入数据
#定位单元格后写入
one_cell.value="商品"
#定位表单后写入
ws.cell(row=2,column=3,value="食品")
#写入多行数据
test_case=[
    ['商品','毛巾'],
    ['数量','1111'],
]
#使用append实现多行写入
for row_data in test_case:
    ws.append(row_data)
#使用双重循环遍历测试用例数据,实现多行写入
for row_data,data in enumerate(test_case,start=1):
    for col_data,value in enumerate(data,start=1):
        ws.cell(row=row_data,column=col_data,value=value)

# 保存修改后的文件
wb.save('D:\\17test\\01demo\\新建 XLSX 工作表.xlsx')
# 关闭文件
wb.close()


                
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值