python操作excel文件

存到Excel里面 python去操作Excel
1、后缀.xlsx  excel文件后缀为.xlsx  openxxl 只支持这种格式
	.xlsx文件创建的两种方式:
		(1)在桌面创建,直接把复制进来
		(2)在路径下创建
		切记不要在pycharm下直接创建,会出问题
2、load_workbook 打开excel文件
3、传表单
4、定位单元格 行列值 sheet.cell(x,y).value
5、sheet.max_row最大行     
   sheet.max_column最大列

一、读取test.xlsx中表单名为python的第一行、第一列值

在这里插入图片描述 excel文件名:test.xlsx 表单名python 第一行第一列值:丽丽

from openpyxl import load_workbook
# 第一步 打开excel文件
wb=load_workbook("test.xlsx") #打开excel文件
# 第二步 定位表单
sheet=wb["python"] #传表单名 返回一个表单对象
# 第三步 定位单元格 行列值
res=sheet.cell(1,1).value
print("拿到的结果为:",res)
# sheet.max_row最大行
print("最大行:{0}".format(sheet.max_row))
# sheet.max_column最大列
print("最大列:{0}".format(sheet.max_column))
运行结果为:
	拿到的结果为: 丽丽
	最大行:1
	最大列:1

二、读取excel中的所有数据(没有表头)

在这里插入图片描述

# 存到Excel里面 python去操作Excel
# 1、后缀.xlsx  excel文件后缀为.xlsx  openxxl 只支持这种格式
#    .xlsx文件创建的两种方式:
#      (1)在桌面创建,直接把复制进来
#      (2)在路径下创建
#      切记不要在pycharm下直接创建
# 2、load_workbook 打开excel文件
# 3、传表单
# 4、定位单元格 行列值
from openpyxl import load_workbook
import unittest
from class_20240503_unittest_excel.test_http import TestAPI

class do_excel:
    def __init__(self,file_name,sheet_name):
        self.file_name=file_name
        self.sheet_name=sheet_name
    def get_data(self):
        wb=load_workbook(self.file_name)
        sheet=wb[self.sheet_name]
        test_data = []
        for i in range(1,sheet.max_row+1):
            sub_data={}
            sub_data["url"]=sheet.cell(i,1).value
            sub_data["data"] = sheet.cell(i,2).value
            sub_data["method"] = sheet.cell(i, 4).value
            sub_data["expected"] = sheet.cell(i, 3).value
            test_data.append(sub_data)
        return test_data
if __name__ == '__main__':
    test_data=do_excel("test.xlsx","python").get_data()
    print(test_data)
运行结果:
[
	{'url': 'https://www.xxxcloud.wang:3300/xxx', 'data': '{"username": "xxx", "password": "xxx"}', 'method': 'post', 'expected': 1}, 
	{'url': 'https://www.xxxcloud.wang:3300/xxx', 'data': '{"username": "xxx", "password": ""}', 'method': 'post', 'expected': 0},
 	{'url': 'https://www.xxxcloud.wang:3300/xxx', 'data': '{"username": "", "password": "xxx"}', 'method': 'post', 'expected': 0}, 
 	{'url': 'https://www.xxxcloud.wang:3300/xxx', 'data': '{"username": "001", "password": "123456"}', 'method': 'post', 'expected': 0}
 ]

三、读取excel中的所有数据(有表头)

在这里插入图片描述

# 存到Excel里面 python去操作Excel
# 1、后缀.xlsx  excel文件后缀为.xlsx  openxxl 只支持这种格式
#    .xlsx文件创建的两种方式:
#      (1)在桌面创建,直接把复制进来
#      (2)在路径下创建
#      切记不要在pycharm下直接创建
# 2、load_workbook 打开excel文件
# 3、传表单
# 4、定位单元格 行列值
from openpyxl import load_workbook
import unittest
from class_20240503_unittest_excel.test_http import TestAPI
class do_excel:
    def __init__(self,file_name,sheet_name):
        self.file_name=file_name
        self.sheet_name=sheet_name
    def get_header(self):
        # 获取表头
        wb = load_workbook(self.file_name)
        sheet = wb[self.sheet_name]
        header=[]
        for j in range(1,sheet.max_column+1):
            header.append(sheet.cell(1,j).value)
        return header

    def get_data(self):
        wb=load_workbook(self.file_name)
        sheet=wb[self.sheet_name]
        test_data = []
        header = self.get_header()
        for i in range(2,sheet.max_row+1):
            sub_data={}
            for j in range(1,sheet.max_column+1):
                sub_data[header[j-1]]=sheet.cell(i,j).value
                # print(sub_data)
            test_data.append(sub_data)

        return test_data

if __name__ == '__main__':
    test_data=do_excel("test.xlsx","python").get_data()
    print(test_data)
运行结果:
[
		{
			'case_id': 1,
			'case_module': 'login',
			'info': '输入正确的用户名、密码',
		    'url': 'https://www.xxxcloud.wang:3300/xxx', 
		    'data': '{"username": "xxx", "password": "xxx"}',
		    'expected': 1, 
		    'method': 'post'
		}, 
		{
			'case_id': 2, 
			'case_module': 'login', 
			'info': '密码为空', 
			'url': 'https://www.xxxcloud.wang:3300/xxx',
			'data': '{"username": "xxx", "password": ""}', 
			'expected': 0,
			'method': 'post'
		}, 
		{
			'case_id': 3,
			 'case_module': 'login',
			 'info': '用户名为空',
			 'url': 'https://www.xxxcloud.wang:3300/xxx',
			 'data': '{"username": "", "password": "xxx"}', 
			 'expected': 0,
			 'method': 'post'
		},
		{
			'case_id': 4,
		    'case_module': 'login',
		 	'info': '用户名、密码不正确', 
		 	'url': 'https://www.xxxcloud.wang:3300/xxx', 
		 	'data': '{"username": "001", "password": "123456"}',
		 	'expected': 0,
		 	'method': 'post'
		}

]
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值