您的位置:首页 > 编程语言 > Python开发

使用python读写操作同一个excel(xlrd,xlwt,xlutils)

2016-04-11 09:31 1171 查看

使用python读写操作同一个excel(xlrd,xlwt,xlutils)

2015-05-21 13:12:59

标签:python 读写操作 excel

最近开始学习python,想做做简单的自动化测试,需要读写excel,然后就找到了xlrd来读取Excel文件,使用xlwt来生成Excel文件(可以控制Excel中单元格的格式),需要注意的是,用xlrd读取excel是不能对其进行操作的:xlrd.open_workbook()方法返回xlrd.Book类型,是只读的,不能对其进行操作。而xlwt.Workbook()返回的xlwt.Workbook类型的save(filepath)方法可以保存excel文件。

因此对于读取和生成Excel文件都非常容易处理,但是对于已经存在的Excel文件进行修改就比较麻烦了。不过,还有一个xlutils(依赖于xlrd和xlwt)提供复制excel文件内容和修改文件的功能。其实际也只是在xlrd.Book和xlwt.Workbook之间建立了一个管道而已.

以下是示例代码:

import xlwt

import xlrd

from xlutils.copy import copy

#使用xlrd读取指定excel工作中的指定表格的值并返回

def excel_read(doc,table,x,y):

data = xlrd.open_workbook(doc)

table = data.sheet_by_name(table)

return table.cell(x,y).value

#使用xlwt创建指定excel工作中的指定表格的值并保存

def excel_create(sheet,value):

data = xlwt.Workbook()

table = data.add_sheet(sheet)

table.write(1,4,value)

data.save('demo.xls')

#三个结合操作同一个excel

rb = xlrd.open_workbook('demo.xls')

#管道作用

wb = copy(rb)

#通过get_sheet()获取的sheet有write()方法

ws = wb.get_sheet(1) #1代表是写到第几个工作表里,从0开始算是第一个。

ws.write(1, 6, 'changed!')

wb.save('demo.xls')
转载出处:http://oanyt.blog.51cto.com/6168303/1653470
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: