300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 【python】解析Excel中使用xlrd库 xlwt库操作 使用xluils库修改Excel文件详解(三)...

【python】解析Excel中使用xlrd库 xlwt库操作 使用xluils库修改Excel文件详解(三)...

时间:2019-06-05 19:52:30

相关推荐

【python】解析Excel中使用xlrd库 xlwt库操作 使用xluils库修改Excel文件详解(三)...

之前介绍了读和写excel,前两种都不是修改excel的,但是在实际的工作中,经常会遇到修改已经存在的Excel文件这种需求。xlrd中put_cell可以实现原表格上简单的写入,而xlwt直接生成新的表格,并不是在原表格的基础上进行修改。

通常方法逻辑就是:先打开这个excel,然后将内容读入到内存,进行处理,然后写到一个新的同名excel文件中,最后直接用修改后的excel文件覆盖了老的excel文件即可。

python已经帮我们实现了这么一个功能模块,那就是模块xlutils,这个模块依赖于xlrd和xlwt模块,它提供了复制excel文件内容和修改文件内容的功能。其实也就是在xlrd.Book和xlwt.Workbook之间建立了一个管道来实现修改功能。实现流程如下图所示:

xlutils方法:

copy: 将xlrd.Book转为xlwt.Workbookstyles: 读取xlrd.Workbook的每一个单元格的styledisplay: 简单而安全地呈现xlrd读取的数据filter: 拆分与整合多个xls文件margins: 查看表格稀疏程度save: 序列化xlrd.Book,转存为binary xls或stream

1、引入模块,需要同时引入读模块和修改模块

2、打开excel开始将内容读到内存中

3、使用xlutils.copy模块的copy()方法将原excel另外拷贝一份,准备修改操作;即将xlrd.Book转为xlwt.Workbook

4、接下来就是从readBook中(也就是原excel中,注意这里读取数据的时候必须从原excel中读取)取得要修改的工作表,然后使用copybook取到相同工作表,使用进行修改操作,英国留学费用最后把修改的内容保存到读取到要修改的工作表

上面这种读sheet的方法是xlrd模块中的方法,它是没有write()方法,所以是不能写的。 然后将要修改整个excel文档拷贝一份:

5、上面的通过get_sheet()获取的sheet是有write()方法,所以能写;接着进行写入操作

6、修改完数据以后,将新的excel表保存并覆盖旧的excel表即可,这就实现了对excel修改的操作需求。或者是另存为新Excel表格

7、上述流程生成简要完整脚本文件:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。