python学习13:对excel格式文件进行读写操作

读取excel的话需要下载第三方库:

复制代码
常用的库:xlrd(读),xlwt(写),xlutils,openpyxl[-----pip install xxx-------]

这里推荐openpyxl

复制代码
pip install openpyxl

excel读取的基本操作

复制代码
# 2)基本操作:
# 2.1)打开文件,获取工作簿
filename = r'D:\stdutyZiLiao\pythoneProjects\webUI\逻辑流程\test005.xlsx'
book = openpyxl.load_workbook(filename)
# 2.2)获取对应文件的工作表
sheet_name = book.sheetnames # 得到列表(工作表sheet):['测试用例', 'Sheet2', 'Sheet3']
# print(sheet_name)
# down_sheet = sheet_name[0] # 得到第一个sheet:测试用例--但是这样获取到的是字符串
down_sheet = book[sheet_name[0]] # 得到工作簿中的对应的第一个sheet:测试用例
print(down_sheet)
# 2.3)获取对应单元格的数据
print(down_sheet.cell(1,2).value) # 获取第一行第二个单元格

excel案例:

复制代码
把对应的用例读取出来成为列表格式[{模块;登录接口,用例:login001...},{模块;登录接口,用例:login002...}]

我的测试用例模板:

第一行是不用的,第二行一般是作为key值,第三行起才是value的数值

复制代码
# 案例:把对应的用例读取出来成为列表格式[{模块;登录接口,用例:login001...},{模块;登录接口,用例:login002...}]
filename = r'D:\stdutyZiLiao\pythoneProjects\webUI\逻辑流程\test005.xlsx'
book = openpyxl.load_workbook(filename)
# 2.2)获取对应文件的工作表
sheet_name = book.sheetnames # 得到列表(工作表sheet):['测试用例', 'Sheet2', 'Sheet3']
down_sheet = book[sheet_name[0]] # 得到sheet
# 遍历
rows = down_sheet.max_row + 1 # 下标是从1开始的,所以需要加1
cols = down_sheet.max_column + 1 # 这个根据实际情况加/减,因为可能有不需要的列
caseDate = [] # 存放所有数据
# 因为第一行是总标题,无关数据,所以从第三行开始,最后一行结束
for i in range(3,rows):
    case = {}
    # 从第一列开始取,最后一列结束
    for j in range(1,cols):
        value = down_sheet.cell(i,j).value
        # 变量名[key] = value :key第二行的标题,value每一行的内容
        case[down_sheet.cell(2,j).value] = value
    print(case)
    caseDate.append(case)
print(caseDate,'caseDate')
相关推荐
li星野9 小时前
相位补偿学习记录:把被颅骨“打乱“的声波重新对齐
学习
Z21-X10 小时前
云原生运维学习笔记:ECShop全链路容器化部署与Docker底层资源隔离深度剖析
运维·笔记·学习·云原生
red_redemption10 小时前
自由学习记录(230)
学习
仓库日记12 小时前
Excel进销存何时该换?用3项检查判断是否需要软件
经验分享·excel·进销存·开单软件
用户03321266636713 小时前
如何使用 Python 将 JSON 转换为 Excel
python·excel
晓梦林14 小时前
BUUCTF-菜刀流量-MISC-学习笔记
笔记·学习
Godspeed Zhao1 天前
从零开始学AI25——无监督学习之层次聚类
学习·机器学习·聚类
David猪大卫1 天前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
HPtiger1 天前
C++ 入门笔记:从 C 到 C++ 的核心过渡(命名空间、输入输出、缺省参数、重载、引用、内联)
c语言·c++·学习
fengci.1 天前
CTF2MISC中等部分
开发语言·前端·学习