Python操作Excel(openpyxl)

Python操作Excel(openpyxl)

1.引入openpyxl库

安装openpyxl库:pip install openpyxl

引入openpyxl库:from openpyxl import load_worbook

2.代码实现

from openpyxl import load_workbook
#打开Excel
wb = load_workbook("C:\Users\Administrator\Desktop\testdemo.xlsx")
#定位表单
sheet = wb["s1"]
#定位单元格 行列值
print("获取最大行数:",sheet.max_row)
print("获取最大列数:",sheet.max_column)
# #遍历
test_list = []#列表
for a in range(2,sheet.max_row+1):
    test_dic = {}  # 字典
    for b in range(1,sheet.max_column+1):
        #获取指定单元格的值:sheet.cell(行,列).value
        #将获取到的数据添加到字典
        test_dic["method"]=sheet.cell(a,1).value
        test_dic["url"]=sheet.cell(a,2).value
        test_dic["data"]=eval(sheet.cell(a,3).value)#eavl() 把数据类转换成 原本数据类型
        test_dic["expect"]=sheet.cell(a,4).value
    test_list.append(test_dic)#将字典添加到列表

print(test_list)
输出:
最大行数: 3
最大列数: 4
[{'method': 'get', 'url': 'http://www.qabujiaban.com/user/login', 'data': {'username': 'uuuu222都44', 'password': 'WJHasb124*1'}, 'expect': '0000'}, {'method': 'get', 'url': 'http://www.qabujiaban.com/user/login', 'data': {'username': 'uuuu222都44', 'password': 'WJHasb124*1'}, 'expect': '0000'}]

3.代码封装

testdemo.xlsx

Python操作Excel(openpyxl)

 

 

 代码

#引入仓库
from openpyxl import load_workbook

class DoExcel():
    def __init__(self,file,sheet):
        self.file=file
        self.sheet=sheet

    def return_excel_value(self):
        wb = load_workbook(self.file)#打开excel
        sheet_content = wb[self.sheet]#定位sheet工作博
        data_list = []#列表用于存储测试数据
        for n in range(2,sheet_content.max_row+1):#行,第一行是标题,所以从第二行开始
            data_dict = {}#字典用于存储每组测试数据
            for m in range(2,sheet_content.max_column+1):
                data_dict["method"]=sheet_content.cell(n,2).value
                data_dict["url"] = sheet_content.cell(n, 3).value
                data_dict["data"] = eval(sheet_content.cell(n, 4).value)#eval()将数据类型还原
                data_dict["expect"] = sheet_content.cell(n, 5).value
            data_list.append(data_dict)#将字典存储到list
        return data_list

if __name__ == '__main__':
    data_list = DoExcel("C:\Users\Administrator\Desktop\testdemo.xlsx","s1").return_excel_value()
    print(data_list)
执行结果
[{'method': 'post', 'url': 'http://www.qabujiaban.com/user/login', 'data': {'username': 'uuuu222都44', 'password': 'WJHasb124*1'}, 'expect': '0000'}, {'method': 'get', 'url': 'http://www.qabujiaban.com/user/login', 'data': {'username': 'uuuu222都44', 'password': 'WJHasb124*1'}, 'expect': '0000'}]
Process finished with exit code 0

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python操作Excel(openpyxl) - Python技术站

(0)
上一篇 2023年4月2日 下午4:11
下一篇 2023年4月2日 下午4:11

相关文章

  • Python怎么引入不同的库?

    怎么引入不同的库? 1.在线安装库 1.1.pip install 模块名 1.2.国内源: 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple…

    2023年4月2日
    00
  • Python控制语句/循环语句

    1.控制语句 1.1.判断语句 if…elif…else #if 语句(比较/逻辑/成员均可) #字符串/列表/元组/字典 为空返回False,非空返回True #条件成立返回True,不成立返回False ar = “” list = [] tuple = () dic = {} if ar:#条件成立返回True继续执行,不成立返回False不执…

    2023年4月2日
    00
  • Python函数/动态参数/关键字参数

      1.函数 #函数语法: #函数名规范:小谢字母开头,不同字母下划线隔开(字母数字下划线) #def 函数名(): #函数体:希望函数做的事情 1.1.无参函数 #无参函数 def music(): print(“唱着又没动听的歌声…”) #调用函数 music() 1.2.有参函数 #有参函数 def zgl_music(name): #形参 pri…

    2023年4月2日
    00
  • Pycharm2019.1.3 安装/激活/汉化

    完美流程,提供所有安装包激活码,解决pycharm安装激活问题!建议收藏!!! 1.安装 Pycharm2019.1.3 安装包下载地址: 链接:https://pan.baidu.com/s/10r-sMUJh7YKS_TP05NehCQ?pwd=1234 提取码:1234 1.1.双击运行电脑中已下载好的PyCharm.2019.1.3安装包。还没下载的…

    2023年4月2日
    00
  • Python unittest数据处理ddt

    1.装饰器 #装饰器的官方定义: 装饰器本质上是一个Python函数(其实就是闭包),它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。装饰器用于有以下场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。 2.ddt import unittest #引入ddt库 from ddt import ddt,…

    2023年4月2日
    00
  • Python面向对象

      ===面向对象=== 1.面向对象简介 类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。 方法:类中定义的函数。 类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。 数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数…

    2023年4月2日
    00
  • Python异常处理

    1.异常处理 异常:在运行代码过程中遇到的任何错误,大有error字样的都为异常 异常处理:对代码中所有可能会出现的异常进行处理 疑问:我们为什么要处理异常? 2.异常代码 import os #创建一个已存在的文件夹 os.mkdir(“Eclipse”) #异常:FileExistsError: [WinError 183] 当文件已存在时,无法创建该文…

    2023年4月2日
    00
  • python基础语法/数据类型/运算符

    1.标识符 # -*- coding:utf-8 -*- # @Time :2021/1/16 10:28 # @Author :QAbujiaban # @Email :wbxztoo@163.com # @File :basic.py 1 # 单行注释 这是单行注释 2 ”’多行注释”’ 这是多行注释 3 “””多行注释””” 这是多行注释 2.标识…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部