[Python进阶] Python操作word:win32com、python-docx

2024-01-10 10:59:05

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'))

离离原上草,岁晚霜霰滋。
与子为兄弟,生世逢乱离。
漂荡各分散,生死安得知。
乐土叹无食,南州叹无衣。
良时幸休明,天路开清夷。

文章来源:https://blog.csdn.net/crleep/article/details/135473640
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。