xlutils(excel utilities)是一个提供了许多操作修改excel文件方法的库。xlrd库仅用于读取excel文件中的数据,xlwt库则用于将数据写入excel文件,但是对于已有的excel文件,想要追加或者修改,这两个库则没有办法完成。事实上也确实没有什么好办法,至少目前来讲还没有。这里将要讲到的xlutils库也仅仅是通过复制一个副本进行操作后保存一个新文件,xlutils库就像是xlrd库和xlwt库之间的一座桥梁,因此,xlutils库是依赖于xlrd和xlwt两个库的。
xlutils库中包含了许多模块,这里主要讲最常使用的xlutils.copy模块。下面按照操作步骤,介绍其使用方法。
首先使用xlrd打开文件:
from os.path import join
from xlrd import open_workbook
rb = open_workbook(join(text_files,'testall.xls'))
然后使用xlutils.copy模块将xlrd.Book对象拷贝为一个xlwt.workbook对象(体现了xlutils库桥梁的作用):
from xlutils.copy import copy
wb = copy(rb)
再使用xlwt的方法操作xlwt.workbook对象:
wb.get_sheet(0).write(0,0,'changed')
wb.save(join(temp_dir,'output.xls'))
保存的文件可以通过xlrd读取。