存到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'
}
]