Python操作word文档的示例详解

目录
  • 写在前面
  • 创建一个文档
    • 先实现第一步,写入一个标题
    • 添加文字段落
    • 列表的添加
    • 图片的添加
    • 表格添加
    • 相关样式设置
    • 页眉和页脚

写在前面

python-docx 不支持 doc 文档,一定要注意该点,如果使用 doc 文档,需要提前将其用 Word 相关软件转换为 docx 格式。 doc 和 docx 是存在本质差异的,一个是二进制,另一个 XML 格式的文件。

模块的安装 pip install python-docx

以下网址首先准备好

资料准备完毕,即可进入编码环节。

创建一个文档

第一个需求,创建一个文档,并在里面写入各种信息。

先实现第一步,写入一个标题

注意下文中的 add_heading() 函数的用法。

from docx import Document

# 创建 Document 对象,等价于在电脑上打开一个 Word 文档
document = Document()

# 在 Word 文档中添加一个标题
document.add_heading('这是一个标题',level=0)

# 保存文档
document.save('demo.docx')

添加文字段落

注意下文中 add_paragraph() 函数添加段落,使用 add_run() 追加文本

from docx import Document

# 创建 Document 对象,等价于在电脑上打开一个 Word 文档
document = Document()

# 在 Word 文档中添加一个标题
document.add_heading('这是一个标题', level=0)

# 文档添加段落
p = document.add_paragraph('这是白给的段落')
# 添加带样式的文字
# 添加段落,文本可以包含制表符(\t)、换行符(\n)或回车符(\r)等
# add_run() 在段落后面追加文本
p.add_run('\n我倾斜了').italic = True  # 添加一个倾斜文字
p.add_run('\n我加粗了').bold = True  # 添加一个加粗文字

# 保存文档
document.save('demo.docx')

在段落前面增加文字

p.add_run('\n我倾斜了').italic = True  # 添加一个倾斜文字
p.add_run('\n我加粗了').bold = True  # 添加一个加粗文字

# 段落前面插入内容
prep_p = p.insert_paragraph_before('段落之前插入内容')

段落还可以添加分页符,代码如下所示:

# 段落前面插入内容
prep_p = p.insert_paragraph_before('段落之前插入内容')

document.add_page_break()
p1 = document.add_paragraph('新页新段落')

列表的添加

无序列表的添加

# 添加列表(前面一个小圆点)
document.add_paragraph('我前面是小圆点', style='List Bullet')
# 添加列表(前面一个小圆点)
document.add_paragraph('第二个小圆点', style='List Bullet')

有序列表的添加

# 添加列表(前面数字)
document.add_paragraph('我前面是数字', style='List Number')
# 添加列表(前面数字)
document.add_paragraph('第二个数字', style='List Number')

图片的添加

Document 对象具备的方法如下所示:

  • add_heading(self, text='', level=1):添加标题;
  • add_page_break(self):分页符;
  • add_paragraph(self, text='', style=None):添加段落;
  • add_picture(self, image_path_or_stream, width=None, height=None):添加图片;
  • add_section(self, start_type=2):添加节;
  • add_table(self, rows, cols, style=None):添加表格;

本部分重点学习 add_picture() 方法。

document.add_picture(r"../9.png", width=Inches(1))

add_picture() 函数中参数 image_path_or_stream 可以为相对地址或者绝对地址,也可以是一个图片数据流,上述代码中 Inches 表示英寸,除此之外, python-docx 还提供了厘米 (Cm) ,如设置 1厘米: Cm(1) ,使用的时候需要提前导入 from docx.shared import Inches, Cm

表格添加

使用 add_table() 函数,可以在 Word 文档中添加表格。

p1 = document.add_paragraph('新页新段落')

# 添加一个 2×2 表格
table = document.add_table(rows=2, cols=2)
# 获取第1行第2列单元格
cell = table.cell(0, 1)

# 设置单元格文本
cell.text = '第1行第2列'

# 获取第2行
row = table.rows[1]
row.cells[0].text = '橡皮擦'
row.cells[1].text = '乔喻'

学习的时候注意一下相关注释,即可掌握该部分内容。

相关样式设置

设置格式需要用 add_run() ,直接使用 add_paragraph() 生成的段落不能直接设置字体等样式。

# 模块的导入
from docx.shared import Pt, Cm, Inches
from docx.oxml.ns import qn
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.shared import RGBColor
# 一级标题 level=0
head0 = document.add_heading(level=0)
# 标题居中
head0.alignment = WD_ALIGN_PARAGRAPH.CENTER
title_run = head0.add_run('这是一个居中的标题', )
title_run.font.size = Pt(24)
# 标题英文字体
title_run.font.name = 'Times New Roman'
# 标题中文字体
title_run.element.rPr.rFonts.set(qn('w:eastAsia'), '微软雅黑')
# 字体颜色
title_run.font.color.rgb = RGBColor(4, 60, 169)

其中 WD_ALIGN_PARAGRAPH 对象表示段落对其的方式,其值包括如下内容

  • WD_ALIGN_PARAGRAPH. LEFT:左对齐;
  • WD_ALIGN_PARAGRAPH. CENTER:居中对其;
  • WD_ALIGN_PARAGRAPH. RIGHT:右对齐;
  • WD_ALIGN_PARAGRAPH. JUSTIFY:两端对齐;

行距,段间距 line_spacing 属性用来设置行距, space_before 表示段前距, space_after 表示段后距。

斜体,下划线,粗体设置

font.italic = True  #设置斜体
font.underline = True  #设置下划线
font.bold = True  #设置粗体

首行缩进 paragraph_format_line_indent 可以设置缩进值。

其它设置 除了上述内容外,还可以通过 document.styles.add_style('textstyle', WD_STYLE_TYPE. PARAGRAPH) ,使用 add_style() 方法创建新的样式对象,后续就可以通过提供的属性进行样式设置,设置字体使用 font.size ,设置字体颜色为 font.color

然后在添加段落的时候,就可以应用该属性了。

from docx.shared import RGBColor
from docx.enum.style import WD_STYLE_TYPE
style = document.styles.add_style('textstyle', WD_STYLE_TYPE.PARAGRAPH)
# 字体大小
style.font.size = Pt(16)
# 字体颜色
style.font.color.rgb = RGBColor(66, 100, 0)
p1 = document.add_paragraph('神人橡皮擦',style=style)

页眉和页脚

页眉和页脚可以直接设置,参考代码如下所示

header = document.sections[0].header
header.add_paragraph('橡皮擦的页眉')

页脚设置

footer = document.sections[0].footer

到此这篇关于Python操作word文档的示例详解的文章就介绍到这了,更多相关Python操作word文档内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 使用Python自动化Microsoft Excel和Word的操作方法

    将Excel与Word集成,无缝生成自动报告 毫无疑问,微软的Excel和Word是公司和非公司领域使用最广泛的两款软件.它们实际上是"工作"的同义词.通常情况下,每一周我们都会将两者结合起来,并以某种方式发挥它们的优点.虽然一般的日常用途不会要求自动化,但有时自动化可能是必需的.也就是说,当您有大量的图表.图形.表格和报告要生成时,如果您选择手动方式,它可能会成为一项极其繁琐的工作.其实没必要这样.实际上,有一种方法可以在Python中创建一个管道,您可以将两者无缝集成,在Excel

  • Python word文本自动化操作实现方法解析

    之前介绍了一个Python包 openpyxl ,用于处理 Excel :而对于 Word 文本时同样也有对应的 Python库 Python-docx,在日常办公中,如果需要处理多个 word 文本,且操作步骤都是重复单调的,我想这个库就可以帮到你 在了解 Python-docx 常用函数之前,需要知道 在 Python-docx 各命令所对应 word 各部件,下图所示, Document 指的是 word 文档: paragraph 对应段落: run 对应 一句话中的各个字段,样式调整时

  • python实现在windows下操作word的方法

    本文实例讲述了python实现在windows下操作word的方法.分享给大家供大家参考.具体实现方法如下: import win32com from win32com.client import Dispatch, constants w = win32com.client.Dispatch('Word.Application') # 或者使用下面的方法,使用启动独立的进程: # w = win32com.client.DispatchEx('Word.Application') # 后台运行

  • Python读取word文本操作详解

    本文研究的主要问题时Python读取word文本操作,分享了相关概念和实现代码,具体如下. 一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的.也就是说python-docx模块会把word文档,文档中的段落.文本.字体等都看做对象,对对象进行处理就是对word文档的内容处理. 二,相关概念 如果需要读取word文档中的文字(一般来说,程序也只需要认识word文档中的文字信息),需要先了解python-docx模块的几个概念. 1,Docume

  • Python操作word常见方法示例【win32com与docx模块】

    本文实例讲述了Python操作word常见方法.分享给大家供大家参考,具体如下: 这里介绍两种方式: 使用win32com 使用docx 1. 使用win32com扩展包 只对windows平台有效 代码: # coding=utf-8 import win32com from win32com.client import Dispatch, DispatchEx word = Dispatch('Word.Application') # 打开word应用程序 # word = Dispatch

  • Python实现Word的读写改操作

    目录 用 docx 模块读取 Word Word 调整样式 Word 写入操作 用 docx 模块读取 Word docx 安装 cmd 中输入pip install python-docx 即可安装 docx 模块 docx 常用函数 创建空白文档 from docx import Document document = Document() document.save("word.docx") # 生成空白 word print(document) 读取文档 from docx i

  • Python操作Word批量生成文章的方法

    下面通过COM让Python与Word建立连接实现Python操作Word批量生成文章,具体介绍请看下文: 需要做一些会议记录.总共有多少呢?五个地点x7个月份x每月4篇=140篇.虽然不很重要,但是140篇记录完全雷同也不好.大体看了一下,此类的记录大致分为四段.于是决定每段提供四种选项,每段从四选项里随机选一项,拼凑成四段文字,存成一个文件.而且要打印出来,所以准备生成一个140页的Word文档,每页一篇. 需要用到win32com模块(下载链接: http://sourceforge.ne

  • Python操作word文档的示例详解

    目录 写在前面 创建一个文档 先实现第一步,写入一个标题 添加文字段落 列表的添加 图片的添加 表格添加 相关样式设置 页眉和页脚 写在前面 python-docx 不支持 doc 文档,一定要注意该点,如果使用 doc 文档,需要提前将其用 Word 相关软件转换为 docx 格式. doc 和 docx 是存在本质差异的,一个是二进制,另一个 XML 格式的文件. 模块的安装 pip install python-docx . 以下网址首先准备好 官方手册:https://python-do

  • Java生成word文档的示例详解

    目录 目标 依赖 模版 实体 代码 目标 依赖 <!-- poi工具类--> <dependency> <groupId>com.deepoove</groupId> <artifactId>poi-tl</artifactId> <version>1.12.0</version> </dependency> 模版 实体 实体类需要和模版内的动态字段对应 代码 @GetMapping(value =

  • 运用Python巧妙处理Word文档的方法详解

    目录 工具 生成Word案例 读取操作word文档 总结 工具 python3.7 Pycharm Excel python-docx 生成Word案例 创建一个demo.doc文档,代码如下: from docx import Document from docx.shared import Cm,Pt from docx.document import Document as Doc #构建doc对象 document = Document() #操作文档标题 document.add_he

  • Python操作word文档插入图片和表格的实例演示

    前言 图片是Word的一种特殊内容,这篇文章主要介绍了关于Python操作word文档,向里面插入图片和表格的相关内容,下面话不多说了,来一起看看详细的代码 实例代码: # -*- coding: UTF8 -*- from docx import Document from docx.shared import Pt doc = Document() # 文件存储路径 path = "C:\\Users\\Administrator\\Desktop\\word文档\\" # 读取文

  • Python实现自动化处理Word文档的方法详解

    目录 1. 批量生成Word文档 2. 将Word文档批量转换成PDF 3. 在Word文档中批量标记关键词 4. 在Word文档中批量替换关键词 使用Python实现Word文档的自动化处理,包括批量生成Word文档.在Word文档中批量进行查找和替换.将Word文档批量转换成PDF等. 1. 批量生成Word文档 安装openpyxl模块 pip install openpyxl 安装python-docx模块 pip install python-docx openpyxl模块可以读写扩展

  • Python对excel文档的操作方法详解

    本文实例讲述了Python对excel文档的操作方法.分享给大家供大家参考,具体如下: pip安装python库:(linux命令行输入不要在idle输入) pip install xlrd pip install xlwd 1.获取excel中的数据 利用xlrd模块读取并简单操作excel文档: 1.打开excel文档 import xlrd workbook = xlrd.open_workbook("test_case.xlsx") 2.获取所有的sheet表 sheet_na

  • 使用PHPWord生成word文档的方法详解

    本文实例讲述了使用PHPWord生成word文档的方法.分享给大家供大家参考,具体如下: 有时我们需要把网页内容保存为Word文档格式,以供其他人员查看和编辑.PHPWord是一个用纯PHP编写的库,使用PHPWord可以轻松处理word文档内容,生成你想要的word文档. 下载源码 安装 我们使用Composer 来安装PHPWord. composer require phpoffice/phpword 如何使用 自动加载 安装好phpword后,新建一个php文档,引入autoload.p

  • 使用VitePress搭建及部署vue组件库文档的示例详解

    目录 安装vitepress 目录结构 文档首页 配置 导航栏配置 侧边栏 部署到GitHub Pages 每个组件库都有它们自己的文档.所以当我们开发完成我们自己的组件库必须也需要一个组件库文档.如果你还不了解如何搭建自己的组件库可以看这里->从零搭建Vue3组件库.看完这篇文章你就会发现原来搭建和部署一个组件库文档是那么的简单.当然部署也不需要你有自己的服务器,你只要有github即可.由于我们的组件库还没有完成,所以下面就以element-plus作为示例来搭建一个文档吧. 安装vitep

  • 解析在.net中使用XSLT转换xml文档的示例详解

    XSL即可扩展的样式表文件. 可以格式化xml的显示,也可以将xml转换成需要的另一种格式.学习XSL必须熟悉XPath.XSL和XPath一样简单强大,容易学习.1. XSL既然可以格式化xml的显示样式,我们先来看如何在xml中引用xsl文件如下代码示例:<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="url.

  • Python 读取 Word 文档操作

    目录 前言 Python 读取 Word 文档 安装 python-docx库 前言 Word 文档 (.docx) 是另一种主要用于存储文本的常见文档.它们通常由 Microsoft Office 创建和编辑,但也可以使用其他工具生成兼容文件.它们通常是共享可编辑文件的最常见格式,同时在分发文档时也非常常见. Python 读取 Word 文档 安装 python-docx库 在本节中,我们将学习如何使用 Python 从 Word 文档中提取文本信息.我们主要使用 python-docx 库

随机推荐