python xlutils教程_python xlutils复制表格使用方法
介绍
xlrd,xlwt和xlutils是用Python处理Excel文档(*.xls)的高效率工具。其中,xlrd只能读取xls,xlwt只能新建xls(不可以修改),xlutils能将xlrd.Book转为xlwt.Workbook,从而得以在现有xls的基础上修改数据,并创建一个新的xls,实现修改。
(以下属性或方法并非全部,需要更多属性请参看文档;建议先参考文末Demo,再深入了解)https://pypi.org/project/xlutils/
属性方法介绍
copy: 将xlrd.Book转为xlwt.Workbook
styles: 读取xlrd.Workbook的每一个单元格的style
display: 简单而安全地呈现xlrd读取的数据
filter: 拆分与整合多个xls文件
margins: 查看表格稀疏程度
save: 序列化xlrd.Book,转存为binary xls或stream
Tips
1. xlrd.open_workbook(fomatting_info=):当formatting_info=Ture,读取workbook并保留格式2. xlrd.open_workbook(on_demand=): 当on_demand=True,只有被要求时才将worksheet载入内存,读取大文件时使用3. xlwt.Worksheet.flush_row_data(): 减少内存占用,被刷新的行不能再访问或修改,建议每1000行刷新一次(若列很多当调整)4. xlwt.Workbook(encoding=): 选择创建的workbook的编码
简单案例一:
importxlrdfrom xlutils importcopyif __name__ == "__main__":#id name age
#1 Python 30
#2 Perl 33
#3 Ruby 20
#打开要读的xls
rd_book = xlrd.open_workbook(‘origin.xls‘)#复制为新的xls
wt_book =copy.copy(rd_book)#修改新的xls
wt_sheet =wt_book.get_sheet(0)
wt_sheet.write(1, 1, ‘Python3‘)#保存修改
wt_book.save(‘copy.xls‘)#id name age
#1 Python3 30
#2 Perl 33
#3 Ruby 20
示例
查找资料时看到的一个github地址,里边有一些python函数以及模块的介绍看着还不错可以收藏下:https://github.com/jumper2014/PyCodeComplete
简单案例二:
#该代码还有部分函数,其他部分功能时查询数据库得到元祖数值,一下代码适合参考:#读取表格模板中的表头数据以及样式,在基础上添加插入数据
importxlrdimportxlwtfrom xlutils.copy importcopyimporttime
path_template=os.path.dirname(os.path.dirname(os.path.abspath(‘.‘)))#拼接模板文件路径
dir = path_template + r‘\module\日报表模板.xls‘
#拼接生成数据文件路径
file_dir = path_template + r‘\report_file‘
defw_table():#读取工作簿
objWB = xlrd.open_workbook(dir, formatting_info=True)#对象变量赋值
objSht = objWB.sheet_by_name(‘日报表‘)#复制工作簿
newWB =copy(objWB)#获取第一个工作表
newSht =newWB.get_sheet(0)#定义style y样式
Style =xlwt.XFStyle()#定义Font 字体
Font =xlwt.Font()
Font.name= ‘微软雅黑‘Font.bold=False
Font.height= 10 * 20Style.font=Font#定义Borders 边框
Borders =xlwt.Borders()
Borders.top=xlwt.Borders.NO_LINE
Borders.bottom=xlwt.Borders.NO_LINE
Borders.left=xlwt.Borders.NO_LINE
Borders.right=xlwt.Borders.NO_LINE
Style.borders=Borders#定义Alignment 对齐方式
Alignment =xlwt.Alignment()
Alignment.horz=xlwt.Alignment.HORZ_CENTER
Alignment.Vert=xlwt.Alignment.VERT_CENTER
Style.alignment=Alignment#输入数据和相应Style [‘速运天津区‘, 0, 0, 180.0, 13923.34, ‘‘, ‘‘, 450.0, 13923.34, 180.0, ‘‘, ‘‘, ‘‘]
save_data =select_date()
count= 2line_list= {1:0,4:1,5:2,12:1,17:3,18:4,20:5,19:6,22:7,23:8,24:9,26:10,28:11,25:12}for data insave_data:iflen(data):for line_k, line_v inline_list.items():
newSht.write(count, line_k, data[line_v], Style)#(行,列,值)
count += 1
print(count)else:print(‘该列表为空!‘)#保存
newWB.save(file_dir +‘\\‘+ time.strftime("%Y-%m-%d") + "日志统计.xls")
w_table()#执行函数生成表格写入数据
通过读取表格模板生成表格
原文:https://www.cnblogs.com/iamjianghao/p/10826297.html
python xlutils教程_python xlutils复制表格使用方法相关推荐
- python单元测试教程_Python单元测试框架unittest使用方法讲解
概述 1.测试脚手架(test fixture) 测试准备前要做的工作和测试执行完后要做的工作.包括setUp()和tearDown(). 2.测试案例(test case) 最小的测试单元. 3.测 ...
- 视频教程-快速入门Python基础教程_Python基础知识大全-Python
快速入门Python基础教程_Python基础知识大全 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥99.00 立即 ...
- 视频教程-快速入门Python基础教程_Python基础进阶视频-Python
快速入门Python基础教程_Python基础进阶视频 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥199.00 立 ...
- python xlutils教程_Python基于xlutils修改表格内容过程解析
一.xlutils是什么 是一个提供了许多操作修改excel文件方法的库: 属于python的第三方模块 xlrd库用于读取excel文件中的数据,xlwt库用于将数据写入excel文件,修改用xlu ...
- python excel操作单元格_python 操作excel表格的方法
说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. ...
- python表格处理工具_python 操作excel表格的方法
说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. ...
- python字典拷贝_python字典复制
python学习系列--深拷贝和浅拷贝 概念 普通情况下,复制一个对象是不会新开辟内存空间的,只是把新的对象名称指向原有的内存地址,这种操作其实不是算是拷贝,只是新的引用.把新的对象置于新的内存空间中 ...
- python教程是什么-Python基础教程_Python入门知识
Python基础教程频道为编程初学者提供入门前的所有基础知识,必须要掌握的一些PYTHON基础语法语句,基本的数据类型. 让大家可以更快速.更容易理解的的方式掌握Python编程所需要的基础知识,灵活 ...
- python继承编程教程_Python实现通过继承覆盖方法示例
本文实例讲述了Python实现通过继承覆盖方法.分享给大家供大家参考,具体如下: Python真是太动态了,所有的方法默认都是虚的.子类定义父类同名函数之后,父类函数被覆盖. class P(obje ...
最新文章
- 2019年中国智能制造的十大发展关键点
- 基于现代神经网络通用人工智能架构设计
- 用户体验思考之UI面试
- ADO.NET开发总结(学习笔记)
- 赞!超炫的页面切换动画效果【附源码下载】
- idea conf文件_JavaWe商品项目保姆级解析IDEA版(配置篇)
- java zip文件操作,java 关于 zip 文件 的 基本操作
- win7 64位下如何安装配置mysql-5.7.4-m14-winx64(安装记录)
- python彩票数据分析案例_天津Python人工智能课程
- 【渝粤教育】国家开放大学2018年秋季 0695-21T (1)农业企业经营管理 参考试题
- github get 请求指定页面的代码
- 安装Windows 10 V1909对CPU有什么要求?
- Atitit 标签式tab 切换的实现 Softdev=declare+intercept 申明+解释 软件=代码+文档 软件=数据结构+算法 软件=程序+数据+文档 申明式 decla
- FTP服务器上传文件操作方法,FTP工具(FLASHFXP)下载使用教程
- 数字图像处理(冈萨雷斯 第三版)
- 启动gis管理器显示无法启动服务器,mapgis狗不能启动,提示是服务器启动失败,是怎么回事?...
- listview嵌套edittext,决解数据无法保存
- 杭州电子科技大学计算机考研复试分数线,2019杭州电子科技大学考研复试分数线通知...
- 闲谈IPv6-我们在技术思维上需要作出改变(1)
- div布局三栏-左中右
热门文章
- 编译ffmpeg、SDL、x264开源库 for ubuntu
- 人人都应该学习并成为优秀的产品经理,因为你要为《你自己》这个产品负责到底
- Educoder 机器学习 神经网络 第三关:反向传播算法
- python代码命令行tab补齐_超简python命令行tab一键补全方法
- Ubuntu硬盘的挂载(临时、永久挂载)
- shell 截取某个字符串之后的内容
- gdal ImportError: DLL load failed
- Python网络编程基础【底层网络】
- django2连接mysql_Django2.2 连接mySQL数据库
- python代替shell脚本_自动化shell脚本except与python的pexpect模块