一、Excel的组成
Excel文件、表单、单元格
二、openpyxl的安装
- 首先需要安装Python环境,
- 使用win+R打开运行,输入框输入cmd
- 使用以下命令安装openpyxl
pip install openpyxl
三、使用openpyxl读取Excel文件
from openpyxl import load_workbook
#加载Excel
workbook_object = load_workbook(filename='case_data.xlsx') #将case_data.xlsx文件与Python文件放在同一个目录下,如果不在同一级目录,需要添加路径
#获取表单名称
names= workbook_object.sheetnames #获取表单的名称返回list
#获取表单对象
#方法一
shett_object=workbook_object['login']
#方法二
shett_object1=workbook_object.worksheets[0] #获取的表单返回的是list,所以可以通过索引取值
#获取单元格
#方法一
cell_object=shett_object['A1'] #或取得是单元格的对象“A1”,并非"A1"的值
print(cell_object.value) #通过对象.value 可以获取"A1"的值(单元格内容)
#方法二
cell_object1=shett_object.cell(1,1) #获取的是第一行第一列的值
print(cell_object1.value)
workbook_object.close() #读完表后关闭Excel
四、行列操作
from openpyxl import load_workbook
# 加载Excel
workbook_object = load_workbook(filename='case_data.xlsx')
#获取表单名称
shett_object = workbook_object.sheetnames[0]
# 行切片获取数据
result = shett_object.iter_rows(min_row=1, max_row=2, min_col=1, max_col=2, values_only=True)
# 行切片 (索引从1开始,int类型,切片原则是,两边都包含,包含起始索引值和结束索引值)
# min_row 起始行的索引值
# max_row 结束行的索引值
# min_col 起始列的索引值
# max_col 结束列的索引值
# values_only false:返回对象 true:返回单元格对应的数据
# 列切片与行切片相同,列切片使用 .iter_cols
print(list(result))
五、数据封装
from openpyxl import load_workbook
class HandleExcel:
def __init__(self, file_name, sheet_name):
self.workbook_object = load_workbook(filename=file_name)
self.sheet_object = self.workbook_object[sheet_name]
def get_excel_tese_case(self):
cases_list = []
datas = list(self.sheet_object.iter_rows(values_only=True)) # 获取Excel表中的所有数据,按行显示,先是第一行的内容
# 将Excel表中的数据拼成字典
case_title = datas[0] # 获取表头
case_datas = datas[1:] # 获取表数据
for case in case_datas:
result = dict(zip(case_title, case))
cases_list.append(result)
self.close_file()
print(cases_list)
return cases_list
print(result)
def close_file(self):
self.workbook_object.close()
if __name__ == '__main__':
cl = HandleExcel(file_name='case_data.xlsx', sheet_name='login')
cl.get_excel_tese_case()
欢迎来到testingpai.com!
注册 关于