[Python进阶] Python操作word:win32com、python-docx
7.5 Python操作word:win32com、python-docx
7.5.1 通过win32com操作
7.5.1.1 新建word并写入内容
from win32com import client
def CreateWord(pmFilename, pmData):
word = client.Dispatch("Word.Application") # 打开word应用程序
word.Visible = True # 让文档可见
doc = word.Documents.Add() # 创建文档
r = doc.Range(0, 0) # 写内容,从头开始
r.InsertAfter(pmData) # 插入内容
doc.SaveAs(pmFilename) # 存储文件
doc.Close() # 关闭文件
word.Quit() # 退出word
CreateWord(pmFilename='test.docx', pmData='我是一只小小鸟')
7.5.1.2 读取word
from win32com import client
def ReadWord(pmFilename):
lines = []
word = client.Dispatch("Word.Application") # 调用系统word功能,可以处理doc和docx文件
# 打开文件
doc = word.Documents.Open(pmFilename)
for par in doc.Paragraphs:
line = par.Range.Text
lines.append(line)
doc.Close() # 关闭
word.Quit() # 退出word
return '\n'.join(lines)
print(ReadWord(r'E:\Home\Document\test.docx'))
离离原上草,岁晚霜霰滋。
与子为兄弟,生世逢乱离。
漂荡各分散,生死安得知。
乐土叹无食,南州叹无衣。
良时幸休明,天路开清夷。翩翩两鸿鹄,振翼思奋飞。
一留故山树,一望云中涯。
东西各异势,顾影相徘徊。
远道去茫茫,会合未有期。
吞声念同气,泪落不敢挥。
7.5.2 通过Python-docx操作
7.5.2.1 Python-docx库介绍
python-docx是一个Python库,用于在Microsoft Word(.docx)文件中创建、修改和解析。这个库非常有用,因为它能够让我们使用Python编程语言来处理Word文档,从而自动化一些繁琐的任务。
下面是一些python-docx库的主要功能:
文档创建
:你可以使用python-docx来创建一个新的Word文档。
文档解析
:你可以使用python-docx来读取和解析现有的Word文档。这意味着你可以使用Python来提取Word文档中的内容。
文档编辑
:一旦你解析了一个Word文档,你可以使用Python来编辑它。例如,你可以添加新的段落、表格、图片等,也可以修改现有的内容。
样式和格式
:python-docx允许你设置和修改文档的样式和格式,如字体、颜色、大小、对齐方式等。
插入和编辑表格
:你可以使用python-docx来插入新的表格到Word文档中,也可以修改现有的表格。
插入和编辑图片
:你可以使用python-docx来插入新的图片到Word文档中,也可以修改现有的图片。
插入和编辑超链接
:你可以使用python-docx来插入新的超链接到Word文档中,也可以修改现有的超链接。
页眉和页脚
:你可以使用python-docx来设置文档的页眉和页脚。
水印
:你可以使用python-docx来给文档添加水印。
合并文档
:你可以使用python-docx来合并多个Word文档。
官方文档:https://python-docx.readthedocs.io/en/latest/
安装Python-docx
pip install python-docx
7.5.2.2 新建word并填充内容
from docx import Document
from docx.shared import Inches
# 创建一个新的Word文档对象
doc = Document()
# 添加一个标题
doc.add_heading('My Document', 0)
# 添加一个段落
doc.add_paragraph('This is my first paragraph.')
# 添加一张图片
doc.add_picture('path_to_image.jpg', width=Inches(1.25))
# 保存文档
doc.save('my_document.docx')
7.5.2.3 读取word
from docx import Document
def ReadWord(pmFilename):
lines = []
file = Document(pmFilename)
for line in file.paragraphs:
lines.append(line.text)
return '\n'.join(lines)
print(ReadWord(r'E:\Home\Document\test.docx'))
离离原上草,岁晚霜霰滋。
与子为兄弟,生世逢乱离。
漂荡各分散,生死安得知。
乐土叹无食,南州叹无衣。
良时幸休明,天路开清夷。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!