码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-05-21 19:55:22      阅读:137      评论:0      收藏:0      [点我收藏+]

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

最近开始学习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‘)


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

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

原文地址:http://oanyt.blog.51cto.com/6168303/1653470

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!