简单试了下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. 如何选择合适的PHP版本

    PHP版本很多,包括32位64位以及线程安全与非线程安全在内的php版本多达几百个,应该如何选择PHP版本呢 PHP32和64的选择和区别 32bit的php的整型数据最大最小正负2GB左右(0x7F ...

  2. dubbo入门学习 六 admin管理界面

    1. 本质就是一个web项目 2. 获取注册中心内Provider注册的信息.用页面呈现出来. 3. 实现步骤 3.1 把dubbo-admin-2.5.3.war上传到服务器tomcat中. 3.2 ...

  3. Atcoder Beginner Contest 070 D - Transit Tree Path

    题意:n个点,n-1条边,组成一个无向的联通图,然后给出q和k,q次询问,每次给出两个点,问这两个点之间的最短距离但必须经过k点. 思路:我当时是用优化的Dijkstra写的(当天刚学的),求出k点到 ...

  4. Java学习笔记day_01

    Java学习笔记(复习整理) 虽然不知道该怎么写,但是不起步就永远不知道该怎么做..刚开始可能会写的很差劲,但会一点一点变好的. 本笔记是以我按照传智播客的视频和Java核心思想来学习,前面的基础部分 ...

  5. web安全系列2:http初探

    web安全系列的第二篇 首先,我们先来理解两个名词C/S架构和B/S架构. 所谓C/S架构,就是客户机/服务器架构,而B/S架构就是浏览器/服务器架构.C/S是通常的桌面程序的架构方式,而B/S就是网 ...

  6. 小白的CTF学习之路3——二进制数据基础与运算(下)

    处理了二进制的整数运算,下面我们来进行令人绝望的浮点数运算 我们先来看一下float事列程序: #include<"stdio.sh"> int main() { fl ...

  7. DNS: Internet’s Directory

    关于DNS 互联网上几乎一切活动都以DNS请求开始.DNS(Domain Name System)是Internet的目录.访问URL时,设备所要做的第一件事就是询问目录,根据域名查出IP地址. 查询 ...

  8. 【ProtoBuffer】windows上安装ProtoBuffer3.1.0 (附已编译资源)

    ------- 17.9.17更新  --- 以下这些方法都是扯淡,对我的机器不适用,我后来花了最后成功安装并亲测可用的方法不是靠vs编过的,vs生成的库引入后函数全部报undefine refere ...

  9. Struts网站基于Filter的XSS漏洞修复

    下面的代码只支持struts2框架中的xss漏洞 第一步,创建过滤器XssFilter : package com.ulic.ulcif.filter; import java.io.IOExcept ...

  10. 自定义导航栏 tabBarController 笔记

    #import "LeeNavigationController.h" @interface LeeNavigationController () @end @implementa ...