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中操作列表之List.append()方法的使用

 append()方法追加传递obj到现有的列表。 语法 以下是append()方法的语法: list.append(obj) 参数   &...

Django+uni-app实现数据通信中的请求跨域的示例代码

Django+uni-app实现数据通信中的请求跨域的示例代码

前后端分离的模式下,后端使用Django RestFramework,前端使用uni-app来进行APP的开发。 前端代码: Django后端跨域配置 settings.py配...

对python中的argv和argc使用详解

主要问题 为什么argv中第一个,即index=0的内容就是文件名? python中argc是用什么实现的? 概念解释 argc:argument counter,命令行参数个数 ar...

Python判断列表是否已排序的各种方法及其性能分析

声明 本文基于Python2.7语言,给出判断列表是否已排序的多种方法,并在作者的Windows XP主机(Pentium G630 2.7GHz主频2GB内存)上对比和分析其性能表现...

关于python pyqt5安装失败问题的解决方法

前言 最近在工作中遇到一个问题,python pyqt5在安装的时候居然提示失败了,无奈只能找解决的办法,发现网上有同样遇到这个问题的同学,所以就总结了解决的方法分享出来,下面话不多说了...