python excel使用xlutils类库实现追加写功能的方法

yipeiwu_com5年前Python基础

由于近日写工作汇报 交一份概要和 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类库实现追加写功能的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python编码类型转换方法详解

本文实例讲述了Python编码类型转换方法。分享给大家供大家参考,具体如下: 1:Python和unicode 为了正确处理多语言文本,Python在2.0版后引入了Unicode字符串...

python 正则表达式贪婪模式与非贪婪模式原理、用法实例分析

本文实例讲述了python 正则表达式贪婪模式与非贪婪模式原理、用法。分享给大家供大家参考,具体如下: 之前未接触过正则表达式,今日看python网络爬虫的源码,里面一行正则表达式匹配的...

python3.6 tkinter实现屏保小程序

本文实例为大家分享了python3.6 tkinter实现屏保小程序,供大家参考,具体内容如下 该小程序是在闲着没事的时候,随便写的,就当打发无聊了。 该程序是用python3.6写的,...

不知道这5种下划线的含义,你就不算真的会Python!

不知道这5种下划线的含义,你就不算真的会Python!

什么是 Python? Python 之父 Guido van Rossum 说:Python是一种高级程序语言,其核心设计哲学是代码可读性和语法,能够让程序员用很少的代码来表达自己的想...

python单向循环链表原理与实现方法示例

python单向循环链表原理与实现方法示例

本文实例讲述了python单向循环链表原理与实现方法。分享给大家供大家参考,具体如下: 单向循环链表 单链表的一个变形是单向循环链表,链表中最后一个节点的next域不再为None,而是指...