python入门教程2word-入门干货:Python操作Word文件经验分享
原标题:入门干货:Python操作Word文件经验分享
导读:Microsoft Word在当前使用中是占有巨大优势的文字处理器,这使得Word专用的档案格式Word 文件(.docx)成为事实上最通用的标准。
在日常工作中,有些时候会有很多重复的工作,比如批量的替换、报名表、合同、邀请函等很多格式一样的文件,要对这些文件进行读写与汇总,程序员的智慧就是把重复的工作简单化,下面介绍一些经验汇总,请读者注意,程序学习最重要的是思想。
作者:老A
如需转载请联系大数据(ID:hzdashuju)
01 模块的安装和导入
python-docx模块安装需要在cmd命令行中输入:
pip install python-docx
02 读取已存在的一个事先有内容的测试文件test1.docx代码
importdocx
file=docx.Document( "/test/test1.docx")
print( "段落数:"+str(len(file.paragraphs)))
forpara infile.paragraphs:
print(para.text)
fori inrange(len(file.paragraphs)):
print( "第"+str(i)+ "段的内容是:"+file.paragraphs[i].text)
03 文档中内容批量替换
首先程序是读取文件夹下文件名称,获取绝对路径,按绝对路径读取文件,把读取的文件中指定内容进行替换,最后把替换后的内容保存到另外的文件夹中:
importos
xmldir= 'D:/test /test'
xmllist=os.listdir(xmldir)
forxml inxmllist:
if'.txt 'intxt
fo=open(xmldir+ '/'+ 'new_{}'.format(txt), 'w')
print( '{}'.format(txt))
fi=open(xmldir+ '/'+ '{}'.format(txt), 'r')
content=fi.readlines
forline incontent:
line=line.replace( '替换前的内容', '替换后的内容')
fo.write(line)
fo.close
print( '替换完成')
04 利用docxtpl将指定数据
本经验是从test/exce.csv文件中读完并写入到test/合同例子.docx中保存输出。
importos
fromdocxtpl importDocxTemplate
tpl = DocxTemplate( 'test/合同例子.docx')
context = {
"name": name,
"department": department,
"position": position,
"time": time,
"id": id_card,
"addr": addr,}
tpl.render(context)
tpl.save( "{}的合同.docx".format(name))
05 将所有受邀者的公司名和代表姓名填入路径为test/test_name_list.xlsx的表格
在需要填字的地方打上“***”,然后Python来填字,最后保存为test/邀请函.docx,下面代码段为读入信息,然后写入word文件中。
fromopenpyxl importload_workbook
wb=load_workbook( 'teset/test_name_list.xlsx')
ws=wb[ 'name']
names=[]
forrow inrange( 2,ws.max_row+ 1):
company=ws[ "A"+str(row)].value
name=ws[ "B"+str(row)].value
names.append( " {} {} ".format(company,name))
doc=docx.Document( 'test/邀请函.docx')
forname innames:
doc.paragraphs[ 1].runs[ 2].text=name
doc.save( 'test/邀请函_{}.docx'.format(name))
word是坐在电脑前百分之九十的人都会用的办公软件,word东西少还好说,手动打开那样存入表格也简单,但是当数据达到几万几十万、几百万大数据级那就恐怖了,如果全靠手动,那么至少要连上一个月的班了,不能停息的那种!
每天重复一样的操作,恐怖吗?想想都可怕,这时候就是真正体现技术方面的能力了,很多东西都可以自动实现,如果手动的话,真不知道搞到猴年马月,耗时没有什么意义!
学习永不停牌,今天一小步明天一大步!
关于作者:老A,项目管理师,专业兴趣研究方向:大数据、计算机软件、通信工程。个人业余爱好是研究无人机制作,银元鉴赏与收藏。
本文为「大数据」内容合伙人之「鉴书小分队」活动读书笔记,由大数据粉丝原创,转载请与我们取得联系。
「大数据」内容合伙人之「鉴书小分队」上线啦!
最近,你都在读什么书?有哪些心得体会想要跟大家分享?
数据叔最近搞了个大事——联合优质图书出版商机械工业出版社华章公司发起鉴书活动。
简单说就是:你可以免费读新书,你可以免费读新书的同时,顺手码一篇读书笔记就行。详情请在大数据公众号后台对话框回复合伙人查看。
延伸阅读《利用Python进行数据分析(原书第2版)》
点击上图了解及购买
转载请联系微信:togo-maruko
推荐语:Python数据分析经典畅销书全新升级,第1版中文版累计销售100000册。针对Python 3.6进行全面修订和更新,涵盖新版的pandas、NumPy、IPython和Jupyter。
有话要说�
Q:Python还能搞定哪些重复性的工作?
欢迎留言与大家分享
更多精彩�
转载 / 投稿请联系:baiyu@hzbook.com
责任编辑:
python入门教程2word-入门干货:Python操作Word文件经验分享相关推荐
- 入门干货:Python操作Word文件经验分享
导读:Microsoft Word在当前使用中是占有巨大优势的文字处理器,这使得Word专用的档案格式Word 文件(.docx)成为事实上最通用的标准. 在日常工作中,有些时候会有很多重复的工作,比 ...
- python自学免费教程-python免费入门教程/求完整的Python入门教程
python不错的入门学习教程或者学习路线?适合新手的 可以去菜鸟教程去学,里面有很多基础入门的教程. 不过你想深入学习的话,学马哥python, 网上有一些免费的教程,课程很系统,讲的通俗易懂 求完 ...
- python免费入门_python免费入门教程/求完整的Python入门教程
python不错的入门学习教程或者学习路线?适合新手的 可以去菜鸟教程去学,里面有很多基础入门的教程. 不过你想深入学习的话,学马哥python, 网上有一些免费的教程,课程很系统,讲的通俗易懂 求完 ...
- python猜年龄代码_python入门教程NO.7用python来写一个猜数字游戏
python入门教程 本文涉及的python基础语法为while循环 #python#3中while语句常常被用于循环执行某个程序,任何非0和非空null的值,都会被条件判断为True while 条 ...
- python基础教程书籍推荐-初学者python入门必看书籍推荐(上)
随着最近Python的热度上涨,学习的人数也在增多,也因为Python这门语言的简短.易学.语言优美的优点,吸引了很多人来学习它.初学者想要入门,就必须先通过阅读,学习大量的理论知识对Python有一 ...
- python语言入门详解-python初级教程:入门详解
python初级教程:入门详解 Crifan Li 目录 前言 .................................................................... ...
- python银行利息问题_python入门教程NO.8 用python写个存款利息计算器
python入门教程 python入门教程NO.8 用python写个存款利息计算器 本文涉及的python基础语法为def函数,return,函数的各参数示例,匿名函数等 函数初识 函数是一段组织好 ...
- python入门教程NO.1 用python打印你的宠物小精灵吧
python入门教程NO.1 用python打印你的宠物小精灵吧 我们来通过一个有趣的例子开始编写我们的第一个python代码. 本文涉及的python基础语法为:print输出函数,赋值,字符串 p ...
- 用python写一个彩票过滤器_python入门教程NO.6 用python做个简单的彩票号码统计分析工具...
python入门教程 python入门教程NO.6 用python做个简单的彩票号码统计分析工具 本文涉及的python基础语法是:字典.集合及for循环 字典的定义 字典也是一种可变的容器,它可以存 ...
最新文章
- R语言使用pROC包绘制ROC曲线实战:roc函数计算AUC值、plot.roc函数绘制ROC曲线、添加置信区间、为回归模型中的每个因子绘制ROC曲线并在同一个图中显示出来
- 在linux和windows下自动备份数据库
- sql server2008中左连接,右连接,等值连接的区别
- ubuntu下安装java和tomcat安装
- Discuz素材资源下载官网门户+自带论坛 整站源码+带后台+带数据库
- 【2020-06-16】CentOS8下yum安装nginx,systemctl start nginx报错undefined symbol: FT_Done_MM_Var
- androidx86安装pc后无法联网_Ubuntu 16.04 安装显卡驱动后循环登录和无法设置分辨率的一种解决方案
- bsxfun 的理解
- 批量修改所选文件夹中所有文件的名称
- 微信小程序源码打包合集 游戏商城抽奖转盘预约点餐等-1
- Spring入门到精通:第二章 IOC容器(XML方式):7.IOC容器Bean管理XML方式-bean作用域
- 【开发经验】mysql有效防止删库跑路!
- python实战演练(二)三级菜单
- excel TEXT 函数
- vue 引入富文本编辑器(巨简单)
- ITSM常见问题之:自动指派工单给对应的技术员的三种简单方法
- 怎么用python画指北针?
- 转载:最值得反思:迟到太久不必到
- 联合 EMQ 发布云原生物联网消息服务联合解决方案,云上轻松构建 IoT 应用
- HR软件七步帮助企业管理员工
热门文章
- 详细的摄像头模组工作原理!!!(转)
- 【模板】折线分割平面
- 用python爬取i春秋的课程名
- 【Transact-SQL】SQL Server自动把left join自动转化为inner join、以及关联时的数据重复问题...
- 开课吧python小课值得么-领导想提拔你,从来看的不是努力!
- python程序员月薪多少-Python程序员就业行情以及前景分析
- python与excel结合能做什么-机器学习实践:如何将Spark与Python结合
- python3.6手册中文版-python3.6文档中文版
- python自动测试p-Python-selenium-自动化测试模型
- 20行python代码的入门级小游戏-python实现石头剪刀布小游戏