python中使用xlrd、xlwt和xlutils3操作Excel

简单试了下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
参考文档地址
简单程序实例
import xlrd
import xlwt
import xlutils3
from xlutils3 import copy
#测试xlwt
#创建新的excel文件
newfile = xlwt.Workbook()
#创建新的表单
#addsheet的格式add_sheet(sheetname, cell_overwrite_ok=False)
newsheet = newfile.add_sheet('test1',cell_overwrite_ok=True)
#索引从0,0开始
newsheet.write(0,0,'aaa')
newsheet.write(0,0,10)
newfile.save('firsttest.xls')

#打开相应的excel文件
workbook = xlrd.open_workbook(r'firsttest.xls')
#找到相应的sheet
#可以通过index,index从0开始计算
#也可以通过sheet的名字 
rdsheet = workbook.sheet_by_index(0) 
rdsheet = workbook.sheet_by_name('test1')
print(rdsheet.cell(0,0))
#cell函数返回的是Cell 对象)包含ctype value xf_index
#输出number:10.0
print(rdsheet.cell(0,0).ctype)
#输出2?使用type查询结果为:<type 'member_descriptor'>具体含义?
print(rdsheet.cell(0,0).value)
#输出10.0
print(rdsheet.cell(0,0).xf_index)
#输出None

rdbook = xlrd.open_workbook(r'firsttest.xls')
wtbook = copy.copy(rdbook)
wtsheet = wtbook.get_sheet(0)
type(wtsheet)
wtsheet.write(0,0,'aaaaa')
wtbook.save('bb.xls')

newrdbook = xlrd.open_workbook(r'bb.xls')
print(newrdbook.sheet_by_name('test1').cell(0,0))
#输出text:'aaaaa'
print(rdbook.sheet_by_index(0).cell(0,0))
#输出number:10.0
关于cell_overwrite_ok参数使用
newsheet = newfile.add_sheet('test1')
#索引从0,0开始
newsheet.write(0,0,'aaa')
newsheet.write(0,0,10)
newfile.save('firsttest.xls')
弹出错误:Exception: Attempt to overwrite cell: sheetname=u'test1' rowx=0 colx=0
修改为不覆盖已经有赋值的单元格是可以操作的:
newsheet = newfile.add_sheet('test1')
#索引从0,0开始
newsheet.write(0,0,'aaa')
newsheet.write(0,1,10)
如果需要覆盖已经操作的单元格,需要设置cell_overwrite_ok=True:
newsheet = newfile.add_sheet('test1',cell_overwrite_ok=True)
#索引从0,0开始
newsheet.write(0,0,'aaa')
newsheet.write(0,0,10)

运行成功

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

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

后续操作查询:

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值