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

yipeiwu_com6年前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程序中使用SQLAlchemy时出现乱码的解决方案

今天对clubot进行了升级, 但是导入数据后中文乱码, 一开是找资料说是在创建引擎的时候添加编码信息: engine = create_engine("mysql://root:@...

Pytorch 抽取vgg各层并进行定制化处理的方法

工作中有时候需要对vgg进行定制化处理,比如有些时候需要借助于vgg的层结构,但是需要使用的是2 channels输入,等等需求,这时候可以使用vgg的原始结构用class重写一遍,但是...

python3读取excel文件只提取某些行某些列的值方法

今天有一位同学给了我一个excel文件,要求读取某些行,某些列,然后我试着做了一个demo,这里分享出来,希望能帮到大家: 首先安装xlrd: pip3 install xlrd...

python 函数内部修改外部变量的方法

如果内部修改外部变量需要nonlocal,global def f1(): print("in f1..") num=111 def f2(): nonlocal num...

Python脚本获取操作系统版本信息

Python脚本获取操作系统版本信息

查看系统版本信息是一件家常便饭的事情,有时候需要将版本信息录入到资产管理系统中,如果每次手动的去查询这些信息再录入系统那么是一件令人呢头疼的事情,如果采用脚本去完成这件事情,那么情况就有...