编写excel操作类

import bson
import datetime
from openpyxl import load_workbook


class DoExcel:

    def __init__(self, file_path, sheet_name):  # 初始化文件路径,表名,其他初始化参数根据具体情况提取封装添加
        self.file_path = file_path
        self.sheet_name = sheet_name

    def do_excel(self):
        wb = load_workbook(self.file_path)
        sheet = wb[self.sheet_name]
        test = []  # 定义空列表用来存储遍历出来的字典数局
        now_time = datetime.datetime.now()  # 获取当前时间
        print(now_time)  # 打印当前时间,精度为毫秒级
        for i in range(1, sheet.max_row + 1):  # 使用for循环遍历所有excel数据
            sub_data = {}  # 定义空字典存储遍历出来的excel数据
            sub_data['key1'] = eval(sheet.cell(i, 1).value)
            sub_data['key2'] = bson.int64.Int64(sheet.cell(i,
                                                           2).value)  # python中有四种书类型,使用bson函数是将python中的int数据类型转成long类型
            sub_data['key3'] = sheet.cell(i, 3).value
            sub_data['key4'] = sheet.cell(i, 4).value
            sub_data['key5'] = [sheet.cell(i, 5).value, sheet.cell(i,
                                                                   6).value]  # 特殊需求,有些键对应的值是字典、列表、元组,具体根据情况选择处理
            test.append(sub_data)  # 将字典数据添加到列表

        return test  # 返回test列表


if __name__ == '__main__':
    test = DoExcel('data1.xlsx', 'data', 50).do_excel()  # 实例化对象
    print(test)  # 打印test列表数据

    '''很多东西并不是一成不变的,同样可以在读取数据时添加判断读取的值为none做赋值替换,抛出异常日志,发送邮件等。编程基础是判断、循环、数据类型,高级一点就是进行封装调用。在实际解决问题中,就是把这些东西合理的组合起来'''

 

转载于:https://www.cnblogs.com/swithin/p/10879716.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值