吴裕雄--天生自然python学习笔记:python处理word文档

Office 文件是我们日常工作生活中都经常用到的文件格
式,其中以 Word 格式的文件最为常用 。
Python 可通过 Win32com 纽件对 Micro so位 Office 文件
进行存取,并且 Python 己内直了 Win32com 纽件,不需要
另外安装。 使用 Win32com 纽件处理 Microsoft Office 文件,
计算机必须己安装 Microso企 Office 。
实现新建文件并保存
下面我们导入 Win32com 组件
的 client 模块:

处理 Word 文件需先建立 Word 应用 。 语法为 :

 

新建文件
Win32com 组件新建文件通过 Documents 的 Add 方法来实现,语法为:

例如,新建文件的变量名称为 doc:

文件内容的位置可通过文件变量的 Range 方法设置,语法为:

起始位置及结束位置为整数,表示字符的数目 。 例如,把文件前 10 个字符保存
至 rangel 变量 :

向 Word 文件中插入文本可通过两种方法来实现。一种方法是 InsertA丘巳r ,此方
法把文字插入到范围变量结束位置之后,插入后位置变量的结束位置的值为改变,
语法为:

另一种方法是 InsertBefore ,此方法是将文字插入到范围变量起始位置的前面,
语法为 :

使用 ln sertBefore 方法插入文本后不会改变范围变量的位置起始值,再次使用
InsertBefore 方法时,还是会把文字插入到变量的最初起始位置值之前。
保存文件
由于 Win32com 组件存取文件时不
能使用相对路径,所以必须先取得 Python 程序文件所在路径,语法为 :

保存 Word 文件的语法为 :

例如,把文件保存在 media 文件夹中,文件名为 testl.docx : 

处理完 Word 文件,通常会在程序最后关闭 Word 文件及应用,以免占用系统资
源,语法为:

用 Win32com 组件建立 Word 文件,插入内容后存盘 。
import os
from win32com import client

word = client.gencache.EnsureDispatch('Word.Application')
word.Visible = 1
word.DisplayAlerts = 0
doc = word.Documents.Add()
range1 = doc.Range(0,0)  #文件起始处
range1.InsertAfter("这是测试第一行\n这是测试第二行\n")
range1.InsertAfter("这是测试第三行\n这是测试第四行\n")
range1.InsertBefore("第一次插入到文件最前方\n")
range1.InsertBefore("再次插入到文件最前方\n")
# cpath = os.path.dirname(__file__)
doc.SaveAs("E:\\media\\test1.docx")
doc.Close()
word.Quit()

 

猜你喜欢

转载自www.cnblogs.com/tszr/p/12029612.html