简单试了下python下excel的操作,使用了xlrd、xlwt和xlutil3;xlrd可以实现excel的读取操作,xlwt则是写入excel操作,xlutils3主要是为了修改excel,简单理解可以拷贝已有excel进行修改,生成新的excel表格。
安装包下载地址
http://pypi.python.org/pypi/xlrd
http://pypi.python.org/pypi/xlwt
参考文档地址
简单程序实例
  1. import xlrd
  2. import xlwt
  3. import xlutils3
  4. from xlutils3 import copy
  5. #测试xlwt
  6. #创建新的excel文件
  7. newfile = xlwt.Workbook()
  8. #创建新的表单
  9. #addsheet的格式add_sheet(sheetname, cell_overwrite_ok=False)
  10. newsheet = newfile.add_sheet('test1',cell_overwrite_ok=True)
  11. #索引从0,0开始
  12. newsheet.write(0,0,'aaa')
  13. newsheet.write(0,0,10)
  14. newfile.save('firsttest.xls')
  15. #打开相应的excel文件
  16. workbook = xlrd.open_workbook(r'firsttest.xls')
  17. #找到相应的sheet
  18. #可以通过index,index从0开始计算
  19. #也可以通过sheet的名字
  20. rdsheet = workbook.sheet_by_index(0)
  21. rdsheet = workbook.sheet_by_name('test1')
  22. print(rdsheet.cell(0,0))
  23. #cell函数返回的是Cell 对象)包含ctype value xf_index
  24. #输出number:10.0
  25. print(rdsheet.cell(0,0).ctype)
  26. #输出2?使用type查询结果为:<type 'member_descriptor'>具体含义?
  27. print(rdsheet.cell(0,0).value)
  28. #输出10.0
  29. print(rdsheet.cell(0,0).xf_index)
  30. #输出None
  31. rdbook = xlrd.open_workbook(r'firsttest.xls')
  32. wtbook = copy.copy(rdbook)
  33. wtsheet = wtbook.get_sheet(0)
  34. type(wtsheet)
  35. wtsheet.write(0,0,'aaaaa')
  36. wtbook.save('bb.xls')
  37. newrdbook = xlrd.open_workbook(r'bb.xls')
  38. print(newrdbook.sheet_by_name('test1').cell(0,0))
  39. #输出text:'aaaaa'
  40. print(rdbook.sheet_by_index(0).cell(0,0))
  41. #输出number:10.0
关于cell_overwrite_ok参数使用
  1. newsheet = newfile.add_sheet('test1')
  2. #索引从0,0开始
  3. newsheet.write(0,0,'aaa')
  4. newsheet.write(0,0,10)
  5. newfile.save('firsttest.xls')
弹出错误:Exception: Attempt to overwrite cell: sheetname=u'test1' rowx=0 colx=0
修改为不覆盖已经有赋值的单元格是可以操作的:
  1. newsheet = newfile.add_sheet('test1')
  2. #索引从0,0开始
  3. newsheet.write(0,0,'aaa')
  4. newsheet.write(0,1,10)
如果需要覆盖已经操作的单元格,需要设置cell_overwrite_ok=True:
  1. newsheet = newfile.add_sheet('test1',cell_overwrite_ok=True)
  2. #索引从0,0开始
  3. newsheet.write(0,0,'aaa')
  4. newsheet.write(0,0,10)

运行成功

如何在python扩展查询需要的信息

如:当最初只知道使用newfile = xlwt.Workbook();创建一个新的文件时;

后续操作查询:

可以通过type(newfile)得到类型<class 'xlwt.Workbook.Workbook'>;

然后时候使用help(xlwt.Workbook)查询Workbook对应的接口,当然使用help(newfile)也是可以的;

如此往复找到需要的细节信息;

 
 

python中使用xlrd、xlwt和xlutils3操作Excel的更多相关文章

  1. Python中对 文件 的各种骚操作

    Python中对 文件 的各种骚操作 python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getc ...

  2. Python中实现对list做减法操作介绍

    Python中实现对list做减法操作介绍 这篇文章主要介绍了Python中实现对list做减法操作介绍,需要的朋友可以参考下 问题描述:假设我有这样两个list, 一个是list1,list1 = ...

  3. 【转】经典!python中使用xlrd、xlwt操作excel表格详解

    最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...

  4. python中使用xlrd读excel使用xlwt写excel

    原文地址 :http://www.bugingcode.com/blog/python_xlrd_read_excel_xlwt_write_excel.html 在数据分析和运营的过程中,有非常多的 ...

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

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

  6. python中的xlrd模块学习

    1.xlrd模块主要用于excel表格的读取,支持xlsx和xls:xlwt主要用于excel的写,库的读取 2.常用单元格中的数据类型 0.empty(空的):1.string(text):2.nu ...

  7. python模块之xlrd,xlwt,读写execl(xls,xlsx)

    安装xlrd,xlwt pip install xlrd xlwt xlrd读取execl [环境ipython python2.7.5] import xlrd book = xlrd.open_w ...

  8. python中的字符串(str)操作

    字符串是python中数据类型.一般就单引号(‘’)或双引号(“”)引起来的内容就是字符串. 例如:下面两个都是定义字符串 str1 = "hello world" str2 = ...

  9. python学习笔记(十):操作excel

    一.python操作excel,python操作excel使用xlrd.xlwt和xlutils模块,xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的 ...

随机推荐

  1. JS中的instanceof和typeof,以及特殊引用类型

    1.instanceof是用于测试对象类型,通常格式为:a instanceof b,返回true或falise,表示为对象a是否是类型b的实例. typeof则是用于测试基本类型,包括undefin ...

  2. Git的安装和使用

    在CentOS 6.x/7.x上安装git及最新版 方式一.yum安装 # yum install git 通过yum方式安装,版本比较旧,CentOS6.5上安装好是1.7.1版.如果想安装最新版或 ...

  3. SAS 创建新变量

    SAS  创建新变量 在对SAS数据集进行处理时,经常需要根据原有变量或变量值生成新变量.根据要实现功能的不同,SAS提供了多种方法,例如通过数据集选项RENAME=(RENAME语句).赋值语句.求 ...

  4. docker之tomcat简单部署

    将apache-tomcat-8.0.36.tar.gz及jdk-7u79-linux-x64.gz拷贝到创建的tomcat8目录下 在tomcat8目录下创建Dockerfile文件 在Docker ...

  5. fortran常用语句--读写带注释文档、动态数组等语法

    1.判断读取文档有多少行数据(文档最后的空行不计入其中): 首先在变量定义区域下方和执行语句前声明在程序中要被调用的GetFileN函数: external GetFileN 接下来在函数外部后边写上 ...

  6. 第四次OO总结

    比较测试和正确性论证的效果 第13次作业是针对ALS电梯进行方法规格的测试,来判断方法运行的结果是否符合预期,是一种直观的验证错误的办法,但是不能确保程序完全正确,不过相比平时用的测试方法,这样效率更 ...

  7. Exception in thread "main" java.lang.UnsupportedClassVersionError : unsupported major.minor version 52.0

    新建好springboot项目后,打开application运行main方法报如下错. 1.问题:Exception in thread "main" java.lang.Unsu ...

  8. template模板的使用方法

    模板 WXML提供模板(template),可以在模板中定义代码片段,然后在不同的地方调用. 定义模板 使用name属性,作为模板的名字.然后在<template/>内定义代码片段 使用模 ...

  9. 2019/3/2周末 java集合学习(一)

    Java集合学习(一) ArraysList ArraysList集合就像C++中的vector容器,它可以不考虑其容器的长度,就像一个大染缸一 样,无穷无尽的丢进去也没问题.Java的数据结构和C有 ...

  10. Python环境安装及IDE介绍

    因为最近时间比较松散,公司的业务也不多,所以想趁机赶紧投入到人工智能的学习大业当中.经过多次比较,看到目前市面上还是使用Python做为基础语言较多,进儿学习算法.人工智能组件.机器学习.数据挖掘等课 ...