原标题:入门干货: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文件经验分享相关推荐

  1. 入门干货:Python操作Word文件经验分享

    导读:Microsoft Word在当前使用中是占有巨大优势的文字处理器,这使得Word专用的档案格式Word 文件(.docx)成为事实上最通用的标准. 在日常工作中,有些时候会有很多重复的工作,比 ...

  2. python自学免费教程-python免费入门教程/求完整的Python入门教程

    python不错的入门学习教程或者学习路线?适合新手的 可以去菜鸟教程去学,里面有很多基础入门的教程. 不过你想深入学习的话,学马哥python, 网上有一些免费的教程,课程很系统,讲的通俗易懂 求完 ...

  3. python免费入门_python免费入门教程/求完整的Python入门教程

    python不错的入门学习教程或者学习路线?适合新手的 可以去菜鸟教程去学,里面有很多基础入门的教程. 不过你想深入学习的话,学马哥python, 网上有一些免费的教程,课程很系统,讲的通俗易懂 求完 ...

  4. python猜年龄代码_python入门教程NO.7用python来写一个猜数字游戏

    python入门教程 本文涉及的python基础语法为while循环 #python#3中while语句常常被用于循环执行某个程序,任何非0和非空null的值,都会被条件判断为True while 条 ...

  5. python基础教程书籍推荐-初学者python入门必看书籍推荐(上)

    随着最近Python的热度上涨,学习的人数也在增多,也因为Python这门语言的简短.易学.语言优美的优点,吸引了很多人来学习它.初学者想要入门,就必须先通过阅读,学习大量的理论知识对Python有一 ...

  6. python语言入门详解-python初级教程:入门详解

    python初级教程:入门详解 Crifan Li 目录 前言 .................................................................... ...

  7. python银行利息问题_python入门教程NO.8 用python写个存款利息计算器

    python入门教程 python入门教程NO.8 用python写个存款利息计算器 本文涉及的python基础语法为def函数,return,函数的各参数示例,匿名函数等 函数初识 函数是一段组织好 ...

  8. python入门教程NO.1 用python打印你的宠物小精灵吧

    python入门教程NO.1 用python打印你的宠物小精灵吧 我们来通过一个有趣的例子开始编写我们的第一个python代码. 本文涉及的python基础语法为:print输出函数,赋值,字符串 p ...

  9. 用python写一个彩票过滤器_python入门教程NO.6 用python做个简单的彩票号码统计分析工具...

    python入门教程 python入门教程NO.6 用python做个简单的彩票号码统计分析工具 本文涉及的python基础语法是:字典.集合及for循环 字典的定义 字典也是一种可变的容器,它可以存 ...

最新文章

  1. R语言使用pROC包绘制ROC曲线实战:roc函数计算AUC值、plot.roc函数绘制ROC曲线、添加置信区间、为回归模型中的每个因子绘制ROC曲线并在同一个图中显示出来
  2. 在linux和windows下自动备份数据库
  3. sql server2008中左连接,右连接,等值连接的区别
  4. ubuntu下安装java和tomcat安装
  5. Discuz素材资源下载官网门户+自带论坛 整站源码+带后台+带数据库
  6. 【2020-06-16】CentOS8下yum安装nginx,systemctl start nginx报错undefined symbol: FT_Done_MM_Var
  7. androidx86安装pc后无法联网_Ubuntu 16.04 安装显卡驱动后循环登录和无法设置分辨率的一种解决方案
  8. bsxfun 的理解
  9. 批量修改所选文件夹中所有文件的名称
  10. 微信小程序源码打包合集 游戏商城抽奖转盘预约点餐等-1
  11. Spring入门到精通:第二章 IOC容器(XML方式):7.IOC容器Bean管理XML方式-bean作用域
  12. 【开发经验】mysql有效防止删库跑路!
  13. python实战演练(二)三级菜单
  14. excel TEXT 函数
  15. vue 引入富文本编辑器(巨简单)
  16. ITSM常见问题之:自动指派工单给对应的技术员的三种简单方法
  17. 怎么用python画指北针?
  18. 转载:最值得反思:迟到太久不必到
  19. 联合 EMQ 发布云原生物联网消息服务联合解决方案,云上轻松构建 IoT 应用
  20. HR软件七步帮助企业管理员工

热门文章

  1. 详细的摄像头模组工作原理!!!(转)
  2. 【模板】折线分割平面
  3. 用python爬取i春秋的课程名
  4. 【Transact-SQL】SQL Server自动把left join自动转化为inner join、以及关联时的数据重复问题...
  5. 开课吧python小课值得么-领导想提拔你,从来看的不是努力!
  6. python程序员月薪多少-Python程序员就业行情以及前景分析
  7. python与excel结合能做什么-机器学习实践:如何将Spark与Python结合
  8. python3.6手册中文版-python3.6文档中文版
  9. python自动测试p-Python-selenium-自动化测试模型
  10. 20行python代码的入门级小游戏-python实现石头剪刀布小游戏