栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

接口自动化框架之读取EXCEL文件

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

接口自动化框架之读取EXCEL文件

Python 操作Excel

1.安装 openpyxl pip install openpyxl
2.导出模块
3.打开Excel文件
4.选择sheet工作表
5.操作单元格

具体操作方法

1.创建表格对象

导入模块
from openpyxl import load_workbook
load_workbook(
filename,
read_only=False,
data_only =False:单元格的计算公式,False默认显示公						式,不进行计算,True根据公式进行计算
)

2.获取表单对象(选取工作表)

#通过工作表名获取
sheet_obj=wb_obj['register']
#通过工作表索引获取,索引从0开始
sheet_obj=wb_obj.worksheets[0]

3.获取单元格对象

cell=sheet_obj['B3']
#获取单元格的值
print(cell.value)
cell=sheet_obj.cell(3,2)
#获取单元格的值
print(cell.value)

4.获取单元格内容

print(cell.value)

5.关闭文件流

wb_obj.close

6.操作行对象

#获取所有的行
row=sheet_obj.rows
#获取所有的列
cols=sheet_obj.columns
#循环读取列
for col in cols:
    for cell in col:
        print(f'开始:row={cell},cell-->{cell.value}')
#循环读取行
for val in row:
    print(val)
#循环读取单元格
    for i in val:
        print(i,'-->',i.value)	
#获取最大的行
max_row=sheet_obj.max_row
print(max_row)
#获取最大的列
max_col=sheet_obj.max_column
print(max_col)
#获取指定的行,切片
data_list=sheet_obj.iter_rows(min_row=1,max_row=4,min_col=2,max_col=3,values_only=True)
#索引从1开始,
#value_only 默认是False,表示获取的是对象。True表示获取的是对应的值
print(data_list)
for val in  data_list:
#结果为一个元组
    print('val=',val)
Excel写操作
#根据单元格名称来写
sheet_obj["A1"]='id'
指定行和列写表
sheet_obj.cell(row=1,column=2).value='name'
sheet_obj.cell(row=1,column=3,value='age')
#append写数据,在表已存在的数据下一行追加写入
data_list=['test1','test2','test3','test4']
sheet_obj.append(data_list)
#appen写多条数据
data_list=[('test1','test2','test3'),('test4','test5')]
for val in data_list:
    sheet_obj.append(val)
# sheet_obj.append(data_list)
wb_obj.save('test.xlsx')
wb_obj.close()

‘’’

excel数据封装

1.从excel获取到的数据要先存起来。否则只能用一次
2.实现实例
1.获取所有的excel数据
2.将表头与表头分开存储
3.通过zip函数将表头和表体拼接成[key:val]的形式
4.用dict方法装换成字段
5.将所有的用例数据添加到list容器中
‘’’

from openpyxl import  load_workbook
from pprint import pprint
class  Handle_excel():
    def __init__(self,filename,sheetname):
        self.filename=filename

        self.sheetname=sheetname
        # 创建表格对象
        # load_workbook(文件名称,是否只读(默认FALSE),是否按照单元格的计算公式读取数据(默认为FALSE))
        self.wb_obj=load_workbook(filename=self.filename,read_only=False,data_only=False)
        # 创建工作表对象,通过工作表的名称获取
        self.sheet_obj = self.wb_obj[self.sheetname]
        #读取单元格中的数据保存到list中
        #iter_rows(values_only=True)表示获取的是单元格的值,FALSE表示获取的是对象
        #

        self.datalist=self.sheet_obj.iter_rows(values_only=True)
        # print(type(self.datalist))
    #将读取的单元格数据组成字典
    def get_excel_data(self):
        #创建一个空列表保存zip之后的字典数据
        test_case_list=[]
        #获取字典的key(表头)

        data_list=list(self.datalist)
        # print(type(data_list))
        excel_title=data_list[0]
        #表格数据
        excel_data=data_list[1:]
        #将数据压缩到字典中,并将压缩后的数据添加到test_case_list中
        for data in excel_data:
            test_dict=dict(zip(excel_title,data))
            test_case_list.append(test_dict)
        return test_case_list
if __name__ == '__main__':
    cl=Handle_excel('../testdata/test_case.xlsx', 'login')
    pprint(cl.get_excel_data())
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/871259.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号