Python3安装xlutils
说明
追加写 python xlrd模块是复制读取exlce xlwt 是负责写 但是发现如果使用xlwt写后 格式都没有了,而且不能追加写.
那么就需要使用 xlutils模块。
1.实现复制带有 格式的excel
使用:
from xlutils.copy import copy
try:
if not os.path.exists(goal_file) and os.path.exists(model_src) :
shutil.copy(model_src,goal_file)
print ‘复制模版成功’
except Exception ,e:
print “模版文件复制失败”
pass
很简单 关键代码只有一句 将一个模版文件复制一份 将来我会用复制后的文件进行追加写操作
#使用 formatting_info=True 来复制带有格式的excel,否则追加写后格式会丢失
rb = xlrd.open_workbook(goal_file,formatting_info=True)
#通过sheet_by_index()获取的sheet没有write()方法
rs = rb.sheet_by_index(0)
wb = copy(rb)
#通过get_sheet()获取的sheet有write()方法
ws = wb.get_sheet(0)
#获得到sheet了 可以进行 追加写 或者 修改某个单元格数据的操作了 最后不要忘了 save()
wb.save(goal_file)
这里特别注意 复制的模版要是xls 后缀而不是xlsx 否则会抛出异常 xlrd 0.8版本后不支持 google了一下好像是这样 所以模版要是xls格式的
而且要注意 不要去手动点开xls文件去修改里面的值,否则脚本执行到最后save()这句话会抛出异常,试了很多次,希望大神可以指教下.
注意这两点 实现追加写就可以完成了.