由于近日写工作汇报 交一份概要和 excel版本 发现手写 太麻烦 想写个代码来自动 读取一个文本中的所有内容 按需求写入 对应excel和概要中 自动完成
就找了找python 的类库,发现了挺多小问题.和大家分享一下 如果对你有所帮助 请赞一下谢谢
如果追加写 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()这句话会抛出异常,试了很多次,希望大神可以指教下.
注意这两点 实现追加写就可以完成了.
以上这篇python excel使用xlutils类库实现追加写功能的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。