一文看懂用Python操作Word文件

导读:Microsoft Word在当前使用中是占有巨大优势的文字处理器,这使得Word专用的档案格式Word 文件(.docx)成为事实上最通用的标准 。
在日常工作中,有些时候会有很多重复的工作 , 比如批量的替换、报名表、合同、邀请函等很多格式一样的文件 , 要对这些文件进行读写与汇总,程序员的智慧就是把重复的工作简单化,下面介绍一些经验汇总,请读者注意 , 程序学习最重要的是思想 。
作者:老A
如需转载请联系华章科技

01 模块的安装和导入

python-docx模块安装需要在cmd命令行中输入:
pip install python-docx

02 读取已存在的一个事先有内容的测试文件test1.docx代码

import docxfile=docx.Document("/test/test1.docx")print("段落数:" str(len(file.paragraphs))) for para in file.paragraphs: print(para.text)for i in range(len(file.paragraphs)):print("第" str(i) "段的内容是:" file.paragraphs[i].text)

03 文档中内容批量替换

首先程序是读取文件夹下文件名称,获取绝对路径,按绝对路径读取文件,把读取的文件中指定内容进行替换 , 最后把替换后的内容保存到另外的文件夹中:
import osxmldir='D:/test /test'xmllist=os.listdir(xmldir)for xml in xmllist: if '.txt ' in txtfo=open(xmldir '/' 'new_{}'.format(txt),'w') print('{}'.format(txt)) fi=open(xmldir '/' '{}'.format(txt),'r') content=fi.readlines() for line in content: line=line.replace('替换前的内容','替换后的内容') fo.write(line) fo.close() print('替换完成')

04 利用docxtpl将指定数据

本经验是从test/exce.csv文件中读完并写入到test/合同例子.docx中保存输出 。
import osfrom docxtpl import DocxTemplatetpl = 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文件中 。
from openpyxl import load_workbookwb=load_workbook('teset/test_name_list.xlsx')ws=wb['name']names=[]for row in range(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')for name in names: doc.paragraphs[1].runs[2].text=namedoc.save('test/邀请函_{}.docx'.format(name))
word是坐在电脑前百分之九十的人都会用的办公软件,word东西少还好说,手动打开那样存入表格也简单,但是当数据达到几万几十万、几百万大数据级那就恐怖了,如果全靠手动,那么至少要连上一个月的班了 , 不能停息的那种!
每天重复一样的操作,恐怖吗?想想都可怕,这时候就是真正体现技术方面的能力了,很多东西都可以自动实现,如果手动的话 , 真不知道搞到猴年马月,耗时没有什么意义!
学习永不停牌,今天一小步明天一大步!
关于作者:老A,项目管理师,专业兴趣研究方向:大数据、计算机软件、通信工程 。个人业余爱好是研究无人机制作,银元鉴赏与收藏 。
本文为「华章科技」内容合伙人之「鉴书小分队」活动读书笔记,由华章科技粉丝原创,如需转载请联系华章科技 。
一文看懂用Python操作Word文件

延伸阅读《利用Python进行数据分析(原书第2版)》
【一文看懂用Python操作Word文件】推荐语:Python数据分析经典畅销书全新升级 , 第1版中文版累计销售100000册 。针对Python 3.6进行全面修订和更新,涵盖新版的pandas、NumPy、IPython和Jupyter 。

相关经验推荐