介绍

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复制表格使用方法相关推荐

  1. python单元测试教程_Python单元测试框架unittest使用方法讲解

    概述 1.测试脚手架(test fixture) 测试准备前要做的工作和测试执行完后要做的工作.包括setUp()和tearDown(). 2.测试案例(test case) 最小的测试单元. 3.测 ...

  2. 视频教程-快速入门Python基础教程_Python基础知识大全-Python

    快速入门Python基础教程_Python基础知识大全 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥99.00 立即 ...

  3. 视频教程-快速入门Python基础教程_Python基础进阶视频-Python

    快速入门Python基础教程_Python基础进阶视频 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥199.00 立 ...

  4. python xlutils教程_Python基于xlutils修改表格内容过程解析

    一.xlutils是什么 是一个提供了许多操作修改excel文件方法的库: 属于python的第三方模块 xlrd库用于读取excel文件中的数据,xlwt库用于将数据写入excel文件,修改用xlu ...

  5. python excel操作单元格_python 操作excel表格的方法

    说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. ...

  6. python表格处理工具_python 操作excel表格的方法

    说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. ...

  7. python字典拷贝_python字典复制

    python学习系列--深拷贝和浅拷贝 概念 普通情况下,复制一个对象是不会新开辟内存空间的,只是把新的对象名称指向原有的内存地址,这种操作其实不是算是拷贝,只是新的引用.把新的对象置于新的内存空间中 ...

  8. python教程是什么-Python基础教程_Python入门知识

    Python基础教程频道为编程初学者提供入门前的所有基础知识,必须要掌握的一些PYTHON基础语法语句,基本的数据类型. 让大家可以更快速.更容易理解的的方式掌握Python编程所需要的基础知识,灵活 ...

  9. python继承编程教程_Python实现通过继承覆盖方法示例

    本文实例讲述了Python实现通过继承覆盖方法.分享给大家供大家参考,具体如下: Python真是太动态了,所有的方法默认都是虚的.子类定义父类同名函数之后,父类函数被覆盖. class P(obje ...

最新文章

  1. 2019年中国智能制造的十大发展关键点
  2. 基于现代神经网络通用人工智能架构设计
  3. 用户体验思考之UI面试
  4. ADO.NET开发总结(学习笔记)
  5. 赞!超炫的页面切换动画效果【附源码下载】
  6. idea conf文件_JavaWe商品项目保姆级解析IDEA版(配置篇)
  7. java zip文件操作,java 关于 zip 文件 的 基本操作
  8. win7 64位下如何安装配置mysql-5.7.4-m14-winx64(安装记录)
  9. python彩票数据分析案例_天津Python人工智能课程
  10. 【渝粤教育】国家开放大学2018年秋季 0695-21T (1)农业企业经营管理 参考试题
  11. github get 请求指定页面的代码
  12. 安装Windows 10 V1909对CPU有什么要求?
  13. Atitit 标签式tab 切换的实现 Softdev=declare+intercept 申明+解释 软件=代码+文档 软件=数据结构+算法 软件=程序+数据+文档 申明式 decla
  14. FTP服务器上传文件操作方法,FTP工具(FLASHFXP)下载使用教程
  15. 数字图像处理(冈萨雷斯 第三版)
  16. 启动gis管理器显示无法启动服务器,mapgis狗不能启动,提示是服务器启动失败,是怎么回事?...
  17. listview嵌套edittext,决解数据无法保存
  18. 杭州电子科技大学计算机考研复试分数线,2019杭州电子科技大学考研复试分数线通知...
  19. 闲谈IPv6-我们在技术思维上需要作出改变(1)
  20. div布局三栏-左中右

热门文章

  1. 编译ffmpeg、SDL、x264开源库 for ubuntu
  2. 人人都应该学习并成为优秀的产品经理,因为你要为《你自己》这个产品负责到底
  3. Educoder 机器学习 神经网络 第三关:反向传播算法
  4. python代码命令行tab补齐_超简python命令行tab一键补全方法
  5. Ubuntu硬盘的挂载(临时、永久挂载)
  6. shell 截取某个字符串之后的内容
  7. gdal ImportError: DLL load failed
  8. Python网络编程基础【底层网络】
  9. django2连接mysql_Django2.2 连接mySQL数据库
  10. python代替shell脚本_自动化shell脚本except与python的pexpect模块