1.xlrd读取excel

请参考上篇博客https://www.cnblogs.com/shapeL/p/9075843.html

2.xlwt生成excel

安装下载:pip install xlwt

导入:import xlwt

参考:

生成excel文件test1.xls

file_name = '../dataconfig/test1.xls'
wbk = xlwt.Workbook() #初始化workbook对象
sheet = wbk.add_sheet('My_Worksheet') #创建表
sheet.write(0,0,'ok') #往单元格写入内容
wbk.save(file_name) #保存

如果对同一单元多次操作,报错

file_name = '../dataconfig/test1.xls'
wbk = xlwt.Workbook()
sheet = wbk.add_sheet('My_Worksheet')
sheet.write(0,1,'ok')
sheet.write(0,1,'hhok')
wbk.save(file_name)
报错:
Exception: Attempt to overwrite cell: sheetname='My_Worksheet' rowx=0 colx=1

解决方案:使用cell_overwrite_ok=True来创建worksheet

sheet = wbk.add_sheet('My_Worksheet',cell_overwrite_ok=True)

3.xlutils修改excel

实际场景:需要将执行结果放入特定单元格中或者对特定单元格数据进行修改

Python中一般使用xlrd(excel read)来读取Excel文件,用xlrd读取excel是不能对其进行操作的:xlrd.open_workbook()方法返回xlrd.Book类型,是只读的,不能对其进行操作;使用xlwt(excel write)来生成Excel文件,xlwt.Workbook()返回的xlwt.Workbook类型的save(filepath)方法可以保存excel文件。xlutils(依赖于xlrd和xlwt)提供复制excel文件内容和修改文件的功能,其实际也只是在xlrd.Book和xlwt.Workbook之间建立了一个管道而已。

安装下载:pip install xlutils

导入:from xlutils.copy import copy

file_name = '../dataconfig/interface.xls'
rb = xlrd.open_workbook(file_name)
print(type(rb))
wb = copy(rb) #管道作用:利用xlutils.copy函数,将xlrd.Book转为xlwt.Workbook,再用xlwt模块进行存储
print(type(wb))
wb.get_sheet(0).write(1,1,'ok') #通过get_sheet()获取的sheet有write()方法
wb.save(file_name)
输出结果:
<class 'xlrd.book.Book'>
<class 'xlwt.Workbook.Workbook'>

excel修改流程如图:

参考文档:https://www.cnblogs.com/jiangzhaowei/p/6179759.html

python3:xlrd、xlwt、xlutils处理excel文件的更多相关文章

  1. Python操作Excel——win32com模块和xlrd+xlwt+xlutils组合

    今天,接到一个任务,要生成大约两百个excel文件,从2006年到2013年,每个月两个文件,这些文件中除了几个关于日期的单元格不同外,其他数据都相同,所以就想到可以用python写一个小脚本,自动生 ...

  2. Python -- xlrd,xlwt,xlutils 读写同一个Excel

    最近开始学习python,想做做简单的自动化测试,需要读写excel,然后就找到了xlrd来读取Excel文件,使用xlwt来生成Excel文件(可以控制Excel中单元格的格式),需要注意的是,用x ...

  3. python xlwt模块生成excel文件并写入数据 xlrd读取数据

    python中一般使用 xlwt (excel write)来生成Excel文件(可以控制单元格格式),用 xlrd 来读取Excel文件,用xlrd读取excel是不能对其进行操作的. 1.xlrd ...

  4. Python使用xlwt模块 操作Excel文件

    导出Excel文件     1. 使用xlwt模块 import xlwt import xlwt    # 导入xlwt # 新建一个excel文件 file = xlwt.Workbook() # ...

  5. Python xlrd、xlwt、xlutils修改Excel文件

    一.xlrd读取excel 这里介绍一个不错的包xlrs,可以工作在任何平台.这也就意味着你可以在Linux下读取Excel文件.首先,打开workbook:    import xlrdwb = x ...

  6. Python xlrd、xlwt、xlutils修改Excel文件-OK

    一.xlrd读取excel 这里介绍一个不错的包xlrs,可以工作在任何平台.这也就意味着你可以在Linux下读取Excel文件. 首先,打开workbook:    import xlrdwb = ...

  7. py库: xlwt 、xlrd (写读EXCEL文件)

    写EXCEL文件 # -*- coding: utf-8 -*- import xlwt book = xlwt.Workbook(encoding = "utf-8", styl ...

  8. 【python】操作excel——xlrd xlwt xlutils

    from xlutils.copy import copy import xlrd # import xlutils #打开已存在的excel rb=xlrd.open_workbook('D:\\1 ...

  9. 自学python3随笔--连接数据库和写EXCEL文件实现

    近日在自学python3,选择python,是由于它命令比较简单,语法也不算复杂,对我来说,要实现的功能用100行语句就能够实现.另外,一个原因,它是脚本形式的,调试比较方便,对我这些有很长时间没有写 ...

随机推荐

  1. [转]python新手必碰到的问题---encode与decode,中文乱码--转载

    edu.codepub.com/2009/1029/17037.php 这个问题在python3.0里已经解决了. 这有篇很好的文章,可以明白这个问题: 为什么会报错“UnicodeEncodeErr ...

  2. 定义c/c++全局变量/常量几种方法的区别

    转自:http://www.cnblogs.com/yaozhongxiao/archive/2010/08/08/1795338.html 1. 编译单元(模块): 在ide开发工具大行其道的今天, ...

  3. C++指针总结

    在C++中通过动态创建的对象,我们只能获得一个指针,并通过指针控制它.指针是存放对象的内存地址值,更准确的描述是对象的起始地址值.每一个指针都有一个相关的类型,不同数据类型的指针之间的区别不在指针的描 ...

  4. Unity 4.x 资源打包

    using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; pu ...

  5. C#判断一个字符串是否全部为空格的一个简单方法

    string nickName = " "; if (nickName.Trim() == string.Empty) { } else { }

  6. apktool 打包解包apk的总结

    1) 不需要另外下载 baksmali-2.1.2.jar, apktool.jar 好像都包含了. apktool d zhanqi.xxx.apk -o zhanqi 2) smalidea-0. ...

  7. js setInterval不能访问外网

    今天调用js setInterval,发现不能访问外网,或者说不能访问本身域名以外的其他域名..不知道什么原因,老是弹出: 网络延时,请稍后再试! setInterval(function(){ va ...

  8. yii新手在实例化models(controller调用models实化化)php warning错误

    新手在执照yii教程来的时候,config/main.php文件是全新写的,post提交的时候,会出错 include(LoginForm.php) [<a href='function.inc ...

  9. JDBC 与 Bean Shell的使用(一)获取值,并且传递

    1.在使用Jmeter进行接口测试的时候,会使用到JDBC,连接数据库,操作数据库其得到的数据后续操作需要使用,这里我们使用了BeanShell的概念来获取JDBC的返回值 如下说明了联合使用的2种方 ...

  10. Android之EventBus1.0 和EventBus3.0的使用详解

    当Android项目越来越庞大的时候,应用的各个部件之间的通信变得越来越复杂,那么我们通常采用的就是Android中的解耦组件EventBus.EventBus是一款针对Android优化的发布/订阅 ...