Python实现Word文档样式批量处理
作者:Python?集中营 发布时间:2022-01-13 01:16:05
标签:Python,Word,样式,处理
这里批量处理word文档的操作主要是通过python-docx非标准库实现的,通过定位到文档对象、再到段落、最后到一行文本从而完成针对文字对象的处理。
使用pip的方式安装python-docx
pip install python-docx
将实现过程中需要的模块导入进来
from docx import Document # 文档处理对象
from docx.shared import RGBColor, Pt, Cm # 文本样式处理
import os # 应用/文件处理
import glob # 文件处理
定义需要处理的文件路径及生成的目标文件的路径
source_file = 'C:/source' # 来源文件路径
target_file = 'C:/target' # 目标文件路径
将需要批量处理样式的word文档放到source目录下面,我这里准备了一个文档作为演示处理。
下面是处理文本样式的代码块实现部分。
for current_file in glob.glob(source_file + '/*.docx'): # 遍历word文档文件
word_obj = Document(current_file) # 初始化word对象
for para in word_obj.paragraphs: # 遍历当前文档段落
for run in para.runs: # 遍历当前段落的文本块
if 'Python' in run.text: # 判断当前文本块是否包含Python字符串
run.font.underline = True # 加上下划线
run.font.color.rgb = RGBColor(255, 0, 0) # 设置字体颜色为红色
word_obj.save(target_file + '/' + os.path.basename(current_file))
处理完成的效果如下:
执行完上述代码块就可以实现我们想要的效果:批量设置word文档样式。
最后,再补充几个工具的使用方式,设置字体颜色时可以参考下面的颜色对照表。
颜色对照表地址
其他字体样式的设置参考下面的代码块
'''
# 加粗
font.bold = True
# 斜体
font.italic = True
# 下划线
font.underline = True
# 删除线
font.strike = True
# 字号
font.size = Pt(20)
# 阴影
font.shadow = True
'''
使用时,直接在文本块中调用即可。在上面的文本处理中我们使用的是加下划线设置。
run.font.underline = True # 加上下划线
比如:若是需要添加阴影则直接在当前对应的文本块中进行类似的处理。
run.font.shadow = True
最后,需要注意的一点是在执行处理时不要将word文档使用wps或其他工具打开,否则会出现找不到文件的报错信息。
来源:https://www.cnblogs.com/lwsbc/p/16328219.html
0
投稿
猜你喜欢
- 今天来学习变量优化问题。寻找使成本函数最小的题解。适用于题解相互独立的情况,设计随机优化算法、爬山法、模拟退火算法、遗传算法。优化问题的的精
- 目录1. python内置方法(read、readline、readlines)2. 内置模块(csv)3. 使用numpy库(loadtx
- 最近关于HTML5吵得火热,很多人认为HTML5出现会秒杀Flash,以至于在各大web前端开 * 坛吵得不可开交。论坛里三言两语说的不够 尽
- 做服务器端开发的同学应该都对进程监控不会陌生,最近恰好要更换 uwsgi 为 gunicorn,而gunicorn又恰好有这么一章讲进程监控
- LBound函数:返回指定数组维的最小可用下标;UBound函数:返回指定数组维的最小可用上标;LBound(arrayname, [,di
- 一、Flask蓝图目录我们之前写的Flask项目都是自己组织的目录结构,其实Flask官方有其推荐的目录结构,以下就是一个符合官方推荐的Fl
- matplotlibmatplotlib是最流行的python底层绘图库,接下来就由小编为大家介绍一些关于matplotlib的一些基本图形
- 应用目标:制作文字特效 应用软件:Dreamweaver MX操作难度:★★☆☆☆我们常用的网页制作工具Dreamweaver MX不仅可以
- 1 什么是曝光融合曝光融合是一种将使用不同曝光设置拍摄的图像合成为一张看起来像色调映射的高动态范围(HDR)图像的图像的方法。当我们使用相机
- 如下所示:<span style="font-size:18px;"></span>import
- 百度作业帮提问:python if not in 多条件 判断怎么写s = ['1','2'] 判断条件st
- 1.切片# 切片:取list或tuple的部分元素nameList = ["Willard","ChenJD&
- 本文实例讲述了Python列表生成式与生成器操作。分享给大家供大家参考,具体如下:列表生成式:能够用来创建list的生成式比如想要生成类似[
- 代码如下:<% myDSN="DSN=xur;uid=xur;pwd=xur"mySQL="s
- 具体代码如下所示:import tkinter as tkimport tkinter.messageboximport copyimpor
- 用简单的方法生成随机性较大的密码仅用20行代码随机生成密码核心思路:利用random模块random模块随机生成数字,大小写字母,循环次数w
- 最近自己准备学习Python,之前也看了点基础知识。做图形这块需要用到OpenCV所以就需要配置环境,之前准备用的是Python3,后来发现
- xlsxwriter可能用过的人并不是很多,不过使用后就会感觉,他的功能让你叹服,除了可以按要求生成你所需要的excel外还可以加上很形象的
- eval()在print干事情之前,先看看这个东东。不是没有用,因为说不定某些时候要用到。>>> help(eval)&n
- 本文实例讲述了python实现的汉诺塔算法。分享给大家供大家参考,具体如下:规则:圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定在