之前介绍了读和写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.Workbook
  • styles: 读取xlrd.Workbook的每一个单元格的style
  • display: 简单而安全地呈现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、上述流程生成简要完整脚本文件:

转载于:https://www.cnblogs.com/zhaolide/p/10026263.html

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

  1. linux在当前目录下创建pic目录,Linux中/proc目录下文件详解

    文章转自: Linux中/proc目录下文件详解(一) ------------------------------------------------------------------------ ...

  2. 利用python中的xlrd和xlwt操作excel

    微信公众号:数据运营人 本系列为博主的读书学习笔记,如需转载请注明出处. 当提起数据处理,一般情况下我们都可以用python中的pandas完成,但是当我们发现一些不规则的excel数据,所谓不规则如 ...

  3. python中import re_Python3中正则模块re.compile、re.match及re.search函数用法详解

    本文实例讲述了Python3中正则模块re.compile.re.match及re.search函数用法.分享给大家供大家参考,具体如下: re模块 re.compile.re.match. re.s ...

  4. python爬豆瓣电视剧_python requests库爬取豆瓣电视剧数据并保存到本地详解

    首先要做的就是去豆瓣网找对应的接口,这里就不赘述了,谷歌浏览器抓包即可,然后要做的就是分析返回的json数据的结构: https://movie.douban.com/j/search_subject ...

  5. linux中etc下的hosts(本地IP解析)文件详解

    linux中etc下的hosts(本地IP解析)文件详解 1./etc/hosts(本地解析) 很多人一提到更改hostname首先就想到修改/etc/hosts文件, 认为hostname的配置文件 ...

  6. python对list中的每个元素进行某种操作_python对list中的每个元素进行某种操作的方法...

    python对list中的每个元素进行某种操作的方法 如下所示: ''' 对列表中的每个元素进行某种操作 ''' def add(c): return c**2 l = [1,2,3] d1 = ma ...

  7. python批量合并单元格_Python批量合并有合并单元格的Excel文件详解

    合并单元格 合并单元格相信大家都会,比如下面这段简单的代码就可以实现: app='Word' word=win32.gencache.EnsureDispatch('%s.Application' % ...

  8. 站长在线Python精讲:Python中集合的交集、并集、差集和对称差集运算方法详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<Python中集合的交集.并集.差集和对称差集运算方法详解>.主要讲的是集合运算的相关的概念,及运算方法,包括:集合的交集. ...

  9. LDF转Excel;LDF转位定义;Excel转LDF;Excel转位定义;MatrixCreat(三)之LDF文件详解

    LDF文件详解 一.摘要 1.描述 2.关键字 二.为什么要了解LDF文件 三.LDF文件构成 1.版本 2.波特率 3.节点信息 4.信号信息 5.诊断信号信息 6.报文消息 7.诊断报文消息 8. ...

最新文章

  1. 自学python还是报班-Python应该自学还是报班好?
  2. STM32 基础系列教程 12 – ADC 中断
  3. 韩国IT业是怎么走向国际我们须要学习什么
  4. JavaScript对象的创建之构造函数
  5. H5|web移动前端自适应适配布局解决方案
  6. Android自定义View 开发流程综合简述 Android自定义View(三)
  7. Linux---文件、软链接于硬链接文件
  8. [Vue Router warn]: Component “default“ in record with path “/xx“ is a function that does not return
  9. java实现排序的几种方法
  10. 如何在 macOS 上安装Axure RP
  11. 关于win10激活工具激活系统,浏览器主页被T999,2345劫持解决方法
  12. Nero Burning ROM 11.0.10500附序列号
  13. 老牌下载站fixdown被挂马 威金蠕虫开始复苏
  14. css rgb转16进制,jquery获取元素颜色css('color')的值返回RGB。如何转十六进制
  15. 《操作系统真象还原》——0.6 为什么称为“陷入”内核
  16. 产品经理们都是怎样成为产品经理的?
  17. STM32F103C8T6封装引脚图
  18. 地图可视化“一网打尽“
  19. Windows网络编程案例教程-董相志 学习记录 第一个网络程序hostent
  20. 【工具】超好用的windows搜索工具Listary

热门文章

  1. Redis源码剖析(十二)有序集合跳表实现
  2. java线程中的常用方法_[多线程] 线程中的常用方法-最详细
  3. openFoam源码中的C++
  4. Delphi 字符串转十六进制
  5. MFC命令行及CCommandLineInfo类
  6. 三种sqrt函数实现
  7. Leetcode题库 119.杨辉三角(单数组迭代 C实现)
  8. 8086CPU汇编:一般的标号与直接定址标号
  9. [BUUCTF-pwn]——wustctf2020_getshell_2
  10. vc6.0能编辑html,科学网—VC6.0的18个实用小技巧 - 梁才的博文