首页 > 其他 > 详细

编写excel操作类

时间:2019-05-17 10:38:55      阅读:145      评论:0      收藏:0      [点我收藏+]
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做赋值替换,抛出异常日志,发送邮件等。编程基础是判断、循环、数据类型,高级一点就是进行封装调用。在实际解决问题中,就是把这些东西合理的组合起来‘‘‘

 

编写excel操作类

原文:https://www.cnblogs.com/swithin/p/10879716.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!