官方文档
pip install openpyxl
或
pip3 install openpyxl
首先,需要了解 Excel 表格中的 行(row)、列(column)、格子(cell) 和 sheet 表
from openpyxl import load_workbook
# 1.打开 Excel 表格并获取表格名称
# 打开当前py程序路径下excelDemo文件夹下的qiyuan.xlsx文件
workbook = load_workbook(filename='./excelDemo/qiyuan.xlsx')
print(workbook.sheetnames)
#输出结果: ['机审测试用例', '分期产品管理端', '分期产品app端']
# 一共三个表格
from openpyxl import load_workbook
# 1.打开 Excel 表格并获取表格名称
# 打开当前py程序路径下excelDemo文件夹下的qiyuan.xlsx文件
workbook = load_workbook(filename='./excelDemo/qiyuan.xlsx')
print(workbook.sheetnames)
#输出结果: ['机审测试用例', '分期产品管理端', '分期产品app端']
# 一共三个表格
# 2.通过 sheet 名称获取表格
sheet1 = workbook["分期产品app端"]
print(sheet1)
# 输出结果:
from openpyxl import load_workbook
# 1.打开 Excel 表格并获取表格名称
# 打开当前py程序路径下excelDemo文件夹下的qiyuan.xlsx文件
workbook = load_workbook(filename='./excelDemo/qiyuan.xlsx')
print(workbook.sheetnames)
#输出结果: ['机审测试用例', '分期产品管理端', '分期产品app端']
# 一共三个表格
# 2.通过 sheet 名称获取表格
sheet1 = workbook["分期产品app端"]
print(sheet1)
# 输出结果:
# 3.获取表格的尺寸大小(几行几列数据)
print(sheet1.dimensions)
# 输出结果: A1:S207
# 从 A1:S207 A列到S列 共19列 207行
from openpyxl import load_workbook
# 1.打开 Excel 表格并获取表格名称
# 打开当前py程序路径下excelDemo文件夹下的qiyuan.xlsx文件
workbook = load_workbook(filename='./excelDemo/qiyuan.xlsx')
print(workbook.sheetnames)
#输出结果: ['机审测试用例', '分期产品管理端', '分期产品app端']
# 一共三个表格
# 2.通过 sheet 名称获取表格
sheet1 = workbook["分期产品app端"]
print(sheet1)
# 输出结果:
# 3.获取表格内某个格子的数据
# 1) sheet["A1"]方式 获取 A1 格子的数据
# cell.value 获取格子中的值
cell1 = sheet1['G5']
print(cell1.value)
# 输出结果:输出第7列第5行的内容:
# 1.未登录/登录过期情况下Me按钮进入页面 2.在Me页面中点击Sign up now
# 2) sheet.cell(row=, column=)方式
cell2 = sheet1.cell(row=4,column=5)
print(cell2.value)
# 输出结果:输出第4行第5列的内容:
# 主页点击Apply Now查看是否能正常跳转到登录界面
.row 获取某个格子的行数;
.columns 获取某个格子的列数;
.corordinate 获取某个格子的坐标
from openpyxl import load_workbook
# 1.打开 Excel 表格并获取表格名称
# 打开当前py程序路径下excelDemo文件夹下的qiyuan.xlsx文件
workbook = load_workbook(filename='./excelDemo/testCase.xlsx')
# 2.获取表格 只有一张表格的时候,可以直接 active
sheet2 = workbook.active
print(sheet2)
# 输出结果
# 3.获取某个格子的行数、列数、坐标
cell2 = sheet2["E3"]
print(cell2.value, cell2.row, cell2.column, cell2.coordinate)
# 输出结果: 20岁用户是否可以通过机审 3 5 E3
from openpyxl import load_workbook
# 1.打开 Excel 表格并获取表格名称
# 打开当前py程序路径下excelDemo文件夹下的qiyuan.xlsx文件
workbook = load_workbook(filename='./excelDemo/testCase.xlsx')
# 2.获取表格 只有一张表格的时候,可以直接 active
sheet2 = workbook.active
print(sheet2)
# 输出结果
# 3.获取一系列格子 sheet[]方式
# 获取 A1:C2 区域的值
cells = sheet2["A1:C2"]
print(cells)
# 输出结果:((, , ), | | |
# (, , )) | | |
# 先行后列
for cell_rows in cells:
for cell_columns in cell_rows:
print(cell_columns.value)
# 输出结果:
# 功能模块(依据导图一级分支)
# 功能点(二级功能点/二级测试子任务)
# 优先级(主、高、中、低)
# 机审规则
# 年龄检测
# 主
特别的,如果我们只想获取“A 列”,或者获取“A-C 列”,可以采取如下方式:
sheet["A"] --- 获取 A 列的数据
sheet["A:C"] --- 获取 A,B,C 三列的数据
sheet[5] --- 只获取第 5 行的数据
from openpyxl import load_workbook
# 1.打开 Excel 表格并获取表格名称
# 打开当前py程序路径下excelDemo文件夹下的qiyuan.xlsx文件
workbook = load_workbook(filename='./excelDemo/testCase.xlsx')
# 2.获取表格 只有一张表格的时候,可以直接 active
sheet2 = workbook.active
print(sheet2)
# 输出结果
# 3.获取一系列格子 sheet[]方式
# 1)获取 E 列的数据
cells1 = sheet2["E"]
# print(cells)
for cell_columns in cells1:
print(cell_columns.value)
# 输出结果:
# 用例概述(根据功能点进行分解)
# 19岁用户是否可以通过机审
# 20岁用户是否可以通过机审
# 25岁用户是否可以通过机审
# 61岁用户是否可以通过机审
# 60岁用户是否可以通过机审
# 在菲律宾境外提交申请
# 在菲律宾境内提交申请
# 2)获取 A,B,C 三列的数据
cells2 = sheet2["A:C"]
# print(cells)
# 先行后列
for cell_rows in cells2:
for cell_columns in cell_rows:
print(cell_columns.value)
# 3) 只获取第 5 行的数据
cells3 = sheet2["5"]
for cell_columns in cells3:
print(cell_columns.value)
.iter_rows()是按行读取,.iter_cols()是按列读取。
from openpyxl import load_workbook
# 1.打开 Excel 表格并获取表格名称
# 打开当前py程序路径下excelDemo文件夹下的qiyuan.xlsx文件
workbook = load_workbook(filename='./excelDemo/testCase.xlsx')
# 2.获取表格 只有一张表格的时候,可以直接 active
sheet3 = workbook.active
print(sheet3)
# 输出结果
# 3.获取一系列格子 .iter_rows()与.iter_cols()方式
# 按行获取值
# 读取1-2行中1-4列的数据(先行后列)
# for i in sheet3.iter_rows(min_row=1, max_row=2, min_col=1,max_col=4):
# for j in i:
# print(j.value)
# 输出结果:
# 功能模块(依据导图一级分支)
# 功能点(二级功能点/二级测试子任务)
# 优先级(主、高、中、低)
# 用例编号(M-00001---管理端,A-00001---APP)
# 机审规则
# 年龄检测
# 主
# A-00001
# 按列获取值
# 读取1-2行中1-4列的数据(先列后行)
for i in sheet3.iter_cols(min_row=1, max_row=2, min_col=1,max_col=4):
for j in i:
print(j.value)
# 输出结果:
# 功能模块(依据导图一级分支)
# 机审规则
# 功能点(二级功能点/二级测试子任务)
# 年龄检测
# 优先级(主、高、中、低)
# 主
# 用例编号(M-00001---管理端,A-00001---APP)
# A-00001