python下有一个直接建立excel文件的xlwt库,使用起来很方便。
它只支持建立excel文件,而不能修改现有文件,这并不影响我的开发,真正让我困扰的是:
我需要在多个sheet间切换,比如我希望从一个时间表中分别按人员名字分别建立三个sheet,分别记录张三、李四、王五的近期事件,使用xlwt库的做法是先建立张三sheet,逐条读取事件,是张三的写入,不是张三的不管,读完了以后,再重新读取一遍,建立李四sheet……建立多少sheet就需要读多少遍同一个表。
虽然代码不麻烦,但这严重影响执行效率啊,不知道大家有什么优化措施吗?
这个是你读取逻辑问题吧,你其实应该从另外一个层面处理数据
既然你是要分3个人相关的,应该在读取后先判断,分配给3个临时表(内存中,或者自建数据类型表),xlwt的写入操作最后才处理,这样就不存在重复读表的问题啦。
xlwt确实看起来少了些功能。
最简单的方法是把现有数据直接转换数据库,再对数据库做查询,查询结果转换sheet。
逻辑很清晰,代码也简洁,就是废资源了点。
另外一个方案就是抛弃xlwt,改用openpyxl,里面有对sheet的操作。