博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编写excel操作类
阅读量:7245 次
发布时间:2019-06-29

本文共 1462 字,大约阅读时间需要 4 分钟。

import bsonimport datetimefrom openpyxl import load_workbookclass 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

你可能感兴趣的文章
信用算力基于 RocketMQ 实现金融级数据服务的实践
查看>>
基于oauth 2.0 实现第三方开放平台
查看>>
kubernetes1.4 基础篇:Learn Kubernetes 1.4 by 6 steps(1):概要
查看>>
百万下载量的 Android 应用后台收集用户信息
查看>>
SQL Server 多表数据增量获取和发布 1
查看>>
C3P0连接池
查看>>
这 25 个开源机器学习项目,一般人我不告诉 Ta
查看>>
【WePY小程序框架实战四】-使用async&await异步请求数据
查看>>
iOS UIImageView(图片)
查看>>
可折叠显示的发光搜索表单
查看>>
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 12 章 全文搜索_12.2. 表和索引
查看>>
java使用正则表达式判断手机号,固定电话,身份证,邮箱,url,车牌号,日期,ip地址,mac,人名等...
查看>>
新手也能轻松掌握的分布式系统「事务」技巧
查看>>
iOS开发之使用Git的基本使用(一)
查看>>
配置云存储网关在线服务支持多个互联VPC-高速通道版
查看>>
6个步骤从头开始编写机器学习算法:感知器案例研究
查看>>
NCalc 学习笔记 (三)
查看>>
NetBeans 成为 Apache 软件基金会顶级项目
查看>>
SSRF在Redis中反弹shell
查看>>
UML关系图
查看>>