使用openpyxl读取excel的数据(封装方法)


使用openpyxl读取excel的数据


**# 导入openpyxl中的load_workbook方法

 1. from openpyxl import load_workbook class Excle():
        # file_nama为excel的路径位置
        def __init__(self,file_name):
            self.file_name = file_name
        def sheet_name(self,sheet_name):
            wb = load_workbook(self.file_name)
            # 使用worksheets的方法,传int类型的
            if isinstance(sheet_name,int):
                return wb.worksheets[sheet_name]
            #传入对应的sheet表单名称的数据
            return wb[sheet_name]**

** 读取一行的数据**

    def sheet_one(self,sheet_name,line):
        # 调用sheet_name的方法
        data = self.sheet_name(sheet_name)
        # 定义列表,使用append,读取出value的值
        data_1 = []
        for i in data[line]:
            data_1.append(i.value)
        return data_1
调用方法:
c = Excle("excel的路径")
a = c.sheet_one(1,1)
print(a)
输出结果为:
['case_id', 'data', 'expected']

读取全部的数据

    def sheet_all(self,sheet_name):
        # 调用sheet_name的方法,与sheet_one的方法
        head = self.sheet_one(sheet_name)
        data = self.sheet_name(sheet_name)
        # 使用rows方法进行全部的读取
        sheet_all = data.rows
        data_list = list(sheet_all)[1:]
        # 列表嵌套
        data_one = []
        for cell in data_list:
            data_two = []
            for i in cell:
                data_two.append(i.value)
                # 字典
                con = dict(zip(head,data_two))
            data_one.append(con)
        return data_one

输出结果

输出结果为:
[{'case_id': 1, 'data': '(1, 2)', 'expected': -1}, {'case_id': 2, 'data': "(1, 'a')", 'expected': 'None'}, {'case_id': 3, 'data': "('a', 'b')", 'expected': 'None'}, {'case_id': 4, 'data': '(5, 0)', 'expected': 5}]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值