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')
相关推荐
M78佐菲6 小时前
ARM学习笔记(1)
linux·arm开发·笔记·嵌入式硬件·学习
无敌贵点大王8 小时前
RTThread学习记录11——RT-Thread 设备模型吃透:UART/ADC/PWM/PIN 到底有什么区别?
c语言·stm32·学习·链表
是翎10 小时前
深度长文|2026产品经理AI实践手册
人工智能·深度学习·学习·自然语言处理·数据挖掘
Linux-lucky10 小时前
32-38-Linux学习之旅之MySQL综合
linux·运维·学习·mysql·ubuntu
知识分享小能手11 小时前
C++ 学习教程,从入门到精通,C++ 入门知识 — 完整知识点(1)
开发语言·c++·学习
AI职业加油站14 小时前
数据要素价值释放年:大数据治理工程师,站上职业新风口
人工智能·学习·职场和发展·数据分析·职场发展
啄缘之间14 小时前
1.【SVA】什么是SVA?
经验分享·学习·测试用例·verilog·sva
sunoo-22915 小时前
【嵌入式裸机开发Day04】i.MX6ULL 蜂鸣器驱动详解:从引脚地址查找到代码实现全流程
arm开发·单片机·嵌入式硬件·学习·串口·裸机
Purple Coder15 小时前
stm32
学习
边境悍匪15 小时前
蜗牛学苑 Java 智能体学习 Day45|Knife4j+SpringBoot3、书城项目整合 MyBatis 思维导图复盘
java·开发语言·vue.js·学习·spring