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')
相关推荐
●VON1 分钟前
React Native for OpenHarmony:2048 小游戏的开发与跨平台适配实践
javascript·学习·react native·react.js·von
ZH154558913110 分钟前
Flutter for OpenHarmony Python学习助手实战:自动化脚本开发的实现
python·学习·flutter
xcLeigh27 分钟前
Python入门:Python3 requests模块全面学习教程
开发语言·python·学习·模块·python3·requests
xcLeigh28 分钟前
Python入门:Python3 statistics模块全面学习教程
开发语言·python·学习·模块·python3·statistics
GHL2842710901 小时前
分析式AI学习
人工智能·学习·ai编程
lpruoyu1 小时前
【Android第一行代码学习笔记】Android架构_四大组件_权限_持久化_通知_异步_服务
android·笔记·学习
野犬寒鸦1 小时前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法
wdfk_prog2 小时前
[Linux]学习笔记系列 -- [drivers][mmc][mmc_sdio]
linux·笔记·学习
果果燕2 小时前
今日学习笔记:双向链表、循环链表、栈
笔记·学习·链表
觉醒大王2 小时前
AI写的青基中了
人工智能·笔记·深度学习·学习·职场和发展·学习方法