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 中一切都是对象,毫无例外整数也是对象,对象之间比较是否相等可以用==,也可以用is。 ==和is操作的区别是: is比较的是两个对象的id值是否相等,也就是...

Python实现二叉树结构与进行二叉树遍历的方法详解

Python实现二叉树结构与进行二叉树遍历的方法详解

二叉树的建立 使用类的形式定义二叉树,可读性更好 class BinaryTree: def __init__(self, root): self.key = ro...

Python获取当前时间的方法

我有的时候写程序要用到当前时间,我就想用python去取当前的时间,虽然不是很难,但是老是忘记,用一次丢一次,为了能够更好的记住,我今天特意写下获取当前时间的方法,如果你觉的对你有用的话...

python安装mysql-python简明笔记(ubuntu环境)

本文讲述了python安装mysql-python的方法。分享给大家供大家参考,具体如下: ubuntu 系统下进行的操作 首先安装了pip工具 sudo apt-get insta...

Anaconda 查看、创建、管理和使用python环境的方法

Anaconda 查看、创建、管理和使用python环境的方法

由于不同的项目需要用不同的python版本,于是使用Anaconda来进行版本管理,现记录一下经验: 在官网下载并安装好Anaconda以后(非常简单,此处不赘述): 1. 查看Pyth...