封装一个可以读取任意excel文件的方法,可以指定读取的表单,当我们多次从excel中读取数据时,就不用重复地写代码,只需调用封装的类即可。
一、封装的excel类实现的需求是什么?
1、读取表头数据
2、读取表头以外的所有数据。–返回值:列表,成员是每一行数据
3、因为每个方法都需要用到表单对象,从外部加载excel数据;所以要做初始化工作,加载一个excel,选中一个表单。
注意: 从excel里读取出来的数据只有两种类型,字符串和数字,后期可根据需要去进行处理
from openpyxl import load_workbook #导入加载函数
class Excel_data: #定义一个excel类
def __init__(self,wb_name,sh_name): #初始化工作,加载出一个表单对象,供函数使用
"""
:param wb_name: 文件路径
:param sh_name: 表单名字
"""
self.wb = load_workbook(wb_name) #下面函数用到的属性才需要加self,如果下面函数没用到就不用加
self.sh = self.wb[sh_name]
def read_title(self): #读取表头数据
titles = [i.value for i in list(self.sh.rows)[0]]
return titles
def read_all_data(self): # 读取表头以外的所有数据
all_data = []
for item in list(self.sh.rows)[1:]:
value_list = [l.value for l in item]
dic = dict(zip(self.read_title(),value_list))
all_data.append(dic)
return all_data
以上excel类封装完毕,下面调用看下
二、调用封装的excel类
import unittest # 导入unittest框架
from