使用Python创建读取和修改Word文档

 更新时间:2025年02月08日 08:32:00   作者:Eiceblue  
Python凭借其简洁语法和丰富的生态工具链,是实现文档自动化处理的理想工具,本文将介绍如何使用Python实现Word文档的创建,读取及修改,需要的可以了解下

自动化文档处理是提升工作效率的关键路径之一,而Python凭借其简洁语法和丰富的生态工具链,是实现文档自动化处理的理想工具。通过编程手段批量生成结构规范的合同模板、动态注入数据分析结果生成可视化报告,或是快速提取海量文档中的关键信息,这种代码驱动的工作流不仅消除了人工重复操作带来的误差风险,更将文档处理从机械劳动升级为可扩展的智能系统。本文将介绍如何使用Python实现Word文档的创建、读取及修改。

本文所使用的方法需要用到免费的Free Spire.Doc for Python,PyPI:pip install spire.doc.free

用Python创建Word文档

我们可以通过创建Document实例来创建Word文档,然后在文档中添加节(Document.AddSection)、段落(Section.AddParagraph)以及文本(Paragraph.AppendText),并对其进行格式设置,从而实现个性化的Word文档创建。以下是操作步骤示例:

  • 实例化Document类从而创建Word文档。
  • 使用Document.AddSection()方法在文档中添加一个节,并通过Section.PageSetup自定义节的页面设置。
  • 通过ParagraphStyle类创建段落样式并使用Document.Styles.Add()方法将样式添加到文档中。
  • 使用Section.AddParagraph()方法在节中添加段落。
  • 使用Paragraph.ApplyStyle()方法应用段落样式。
  • 使用Document.SaveToFile()方法或Document.SaveToStream()方法保存创建的文档。
  • 释放资源。

代码示例

from spire.doc import *

# 实例化Document类从而创建Word文档
doc = Document()

# 添加一个节到文档中
section = doc.AddSection()
# 设置页边距
section.PageSetup.Margins.Top = 50
section.PageSetup.Margins.Bottom = 50
section.PageSetup.Margins.Left = 50
section.PageSetup.Margins.Right = 50

# 添加标题段落
titleParagraph = section.AddParagraph()
titleParagraph.AppendText("数字时代的隐秘角落")
titleParagraph.ApplyStyle(BuiltinStyle.Heading2)

# 创建正文段落样式
bodyStyle = ParagraphStyle(doc)
bodyStyle.Name = "BodyStyle"
bodyStyle.CharacterFormat.FontName = "黑体"
bodyStyle.CharacterFormat.FontSize = 12
bodyStyle.CharacterFormat.TextColor = Color.get_Brown()
# 将样式添加到文档中
doc.Styles.Add(bodyStyle)

# 添加正文段落
bodyParagraph = section.AddParagraph()
bodyParagraph.AppendText("在这个高度数字化的时代,每一秒钟都有海量的信息被创建、分享和遗弃。"
                         "我们习惯于快速滚动过无数的更新动态,追逐最新的趋势和技术。"
                         "然而,在这个过程中,许多珍贵的“网络遗产”正在被悄然遗忘。"
                         "这些遗产包括早期互联网用户的创意作品、已停止运营的在线社区的记忆以及那些曾经风靡一时但现在无人问津的数字内容。"
                         "它们不仅仅是数据堆砌而成的遗迹,更是人类探索数字领域历程的见证。"
                         "通过探索这些被遗忘的角落,我们可以更好地理解互联网文化的发展脉络,并从中汲取对未来创新有益的经验与教训。"
                         "这不仅是一次对过去的回顾,更是一场关于如何在瞬息万变的数字世界中保存人类共同记忆的深刻思考。")
# 将正文段落样式应用到段落中
bodyParagraph.ApplyStyle(bodyStyle.Name)

# 保存文档
doc.SaveToFile("output/Example.docx", FileFormat.Docx2019)
doc.Close()

结果

用Python读取Word文档文本

如果我们需要读取现有Word文档中的文本内容为字符串,从而方便进行其他操作或进一步处理,可以使用Document.LoadFromFile或Document.LoadFromStream方法载入Word文档,然后直接使用Document.GetText方法获取文档中的所有文本内容。以下是操作步骤示例:

  • 创建Document对象。
  • 使用Document.LoadFromFile()方法从文件载入Word文档,或使用Document.LoadFromStream()方法从流载入Word文档。
  • 使用Document.GetText()方法获取文档中的所有文本内容。
  • 输出读取的内容或用于其他操作。

代码示例

from spire.doc import Document

# 创建Document对象
doc = Document()

# 载入Word文档
doc.LoadFromFile("output/Example.docx")

# 获取文档中的所有文本为字符串
text = doc.GetText()

# 输出获取到的字符串
print(text)

结果

用Python修改Word文档

我们也可以使用Free Spire.Doc for Python载入Word文档,并直接使用库中的类和方法对文档进行修改。以下是操作步骤示例:

  • 创建Document对象。
  • 使用Document.LoadFromFile()方法从文件载入Word文档,或使用Document.LoadFromStream()方法从流载入Word文档。
  • 使用Document.Sections.get_Item()方法获取一个节。
  • 使用Section.PageSetup下的属性修改页面设置。
  • 使用Section.Paragraphs.get_Item()方法获取节中的段落。
  • 使用Paragraph.Text属性设置新的段落文本。
  • 使用Paragraph.ApplyStyle()方法更改段落样式。
  • 使用Document.SaveToFile()方法或Document.SaveToStream()方法保存修改后的文档。

代码示例

from spire.doc import Document, BuiltinStyle

# 创建Document对象
doc = Document()

# 载入Word文档
doc.LoadFromFile("output/Example.docx")

# 获取文档第一节
section = doc.Sections.get_Item(0)

# 修改节的左右页边距
section.PageSetup.Margins.Left = 100
section.PageSetup.Margins.Right = 100

# 获取节中的第一个段落
para = section.Paragraphs.get_Item(0)

# 修改段落文本
para.Text = "探索被遗忘的网络遗产"

# 修改段落样式
para.ApplyStyle(BuiltinStyle.Heading1)

# 保存修改后的文档
doc.SaveToFile("output/ModifiedExample.docx")
doc.Close()

结果

到此这篇关于使用Python创建读取和修改Word文档的文章就介绍到这了,更多相关Python操作Word内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python下载ts文件视频且合并的操作方法

    Python下载ts文件视频且合并的操作方法

    ts文件,ts即"Transport Stream"的缩写,特点就是要求从视频流的任一片段开始都是可以独立解码的,非常适合网络视频播放,这篇文章主要介绍了Python下载ts文件视频且合并,需要的朋友可以参考下
    2023-01-01
  • python单链路性能测试实践

    python单链路性能测试实践

    这篇文章主要为大家介绍了python单链路性能测试实践示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Python使用设计模式中的责任链模式与迭代器模式的示例

    Python使用设计模式中的责任链模式与迭代器模式的示例

    这篇文章主要介绍了Python使用设计模式中的责任链模式与迭代器模式的示例,责任链模式与迭代器模式都可以被看作为行为型的设计模式,需要的朋友可以参考下
    2016-03-03
  • django 2.2和mysql使用的常见问题

    django 2.2和mysql使用的常见问题

    这篇文章主要介绍了django 2.2和mysql使用的常见问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Python之字典及while循环解读

    Python之字典及while循环解读

    这篇文章主要介绍了Python之字典及while循环解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Numpy创建数组和随机数组的方法小结

    Numpy创建数组和随机数组的方法小结

    这篇文章主要为大家详细介绍了Numpy创建数组和随机数组的方法小结,文中的示例代码讲解详细,对我们学习Python有一定帮助,具有一定的参考价值,需要的可以参考一下
    2023-11-11
  • python实现二叉树的遍历

    python实现二叉树的遍历

    这篇文章主要为大家详细介绍了python实现二叉树的遍历,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • python3 flask实现文件上传功能

    python3 flask实现文件上传功能

    这篇文章主要为大家详细介绍了python3 flask实现文件上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • python--字典(dict)和集合(set)详解

    python--字典(dict)和集合(set)详解

    本文通过实例给大家介绍了python中字典和集合的知识小结,非常不错,具有参考借鉴价值,需要的的朋友参考下吧,希望能够给你带来帮助
    2021-09-09
  • 基于Python开发简单的图片定位导出小程序

    基于Python开发简单的图片定位导出小程序

    在日常工作中,我们经常需要从大量图片文件中筛选出包含特定名称或编号的图片,所以本文将使用Python开发一个图片定位导出小程序,感兴趣的小伙伴可以了解下
    2025-09-09

最新评论