当前位置: 首页 > news >正文

10个Word自动化办公脚本

在日常工作和学习中,我们常常需要处理Word文档(.docx)。

Python提供了强大的库,如python-docx,使我们能够轻松地进行文档创建、编辑和格式化等操作。本文将分享10个使用Python编写的Word自动化脚本,帮助新手小白更好地上手。

1. 创建一个新的Word文档

from docx import Document# 创建新的Word文档并添加标题
def create_new_document(file_name, title):doc = Document()doc.add_heading(title, level=1)doc.save(file_name)create_new_document('example.docx', '我的新文档')
print("新文档已创建!")
 

解释

该脚本创建一个新的Word文档,并在其中添加一个标题。这是任何处理文档时的第一步,对程序员来说,这样可以快速生成报告框架;对于普通用户,比如需要创建新的会议记录或笔记,这会非常方便。

 

2. 向文档中添加段落

# 向已有的Word文档中添加段落
def add_paragraph_to_document(file_name, paragraph_text):doc = Document(file_name)doc.add_paragraph(paragraph_text)doc.save(file_name)add_paragraph_to_document('example.docx', '这是我添加的新段落。')
print("段落已添加到文档中!")
 

解释

这个脚本向指定的Word文档中添加一个新段落。在撰写报告或文章时,随着内容的增加,需要不断往文件中添加信息,使用这个脚本可以高效地更新文档。

 

3. 修改文档中的文本

# 修改文档中特定段落的内容
def replace_paragraph_in_document(file_name, old_text, new_text):doc = Document(file_name)for para in doc.paragraphs:if old_text in para.text:para.text = para.text.replace(old_text, new_text)doc.save(file_name)replace_paragraph_in_document('example.docx', '新段落', '替换后的段落')
print("段落已成功修改!")
 

解释

该脚本查找并替换Word文档中特定的段落内容。比如,当在编辑过程中发现某些信息需要更新时,通过此脚本可以快速完成修改,避免手动逐一查找的烦恼。

 

4. 删除特定段落

# 删除文档中包含特定文本的段落
def delete_paragraph_in_document(file_name, text_to_delete):doc = Document(file_name)for para in doc.paragraphs:if text_to_delete in para.text:p = para._elementp.getparent().remove(p)doc.save(file_name)delete_paragraph_in_document('example.docx', '替换后的段落')
print("特定段落已删除!")
 

解释

这个脚本删除Word文档中包含特定文本的段落。例如,在审阅文档时可能发现某些不准确的信息,希望将其删除,使用这个脚本可以快速实现。

 

5. 添加列表和表格

# 向文档中添加有序列表和表格
def add_list_and_table(file_name):doc = Document(file_name)# 添加有序列表doc.add_paragraph('这是一个有序列表:', style='ListNumber')for i in range(1, 4):doc.add_paragraph(f'项目 {i}', style='ListNumber')# 添加表格table = doc.add_table(rows=3, cols=3)for row in table.rows:for cell in row.cells:cell.text = '单元格内容'doc.save(file_name)add_list_and_table('example.docx')
print("有序列表和表格已成功添加!")
 

解释

该脚本向Word文档中添加一个有序列表和一个简单的表格。通过这种方式,可以清晰地组织信息,适用于需要展示数据或计划的场合。

 

6. 格式化文本

from docx.shared import Pt# 设置文档中文本的格式
def format_text(file_name):doc = Document(file_name)for para in doc.paragraphs:for run in para.runs:run.font.size = Pt(14)  # 设置字体大小为14ptrun.bold = True  # 设置为加粗doc.save(file_name)format_text('example.docx')
print("文档中的文本格式已成功修改!")
 

解释

该脚本修改文档中所有文本的格式,例如设置字体大小和加粗。这在制作正式报告时尤为重要,有助于提升文档的可读性和美观度。

 

7. 合并多个Word文档

# 合并多个Word文档为一个
def merge_documents(output_file, *input_files):merged_doc = Document()for file in input_files:sub_doc = Document(file)for element in sub_doc.element.body:merged_doc.element.body.append(element)merged_doc.save(output_file)merge_documents('merged_example.docx', 'doc1.docx', 'doc2.docx')
print("多个文档已成功合并!")
 

解释

该脚本将多个Word文档合并为一个新文档。这在需要汇总不同来源的报告时特别有用,可以减少繁琐的复制粘贴过程。

 

8. 插入图片

# 在文档中插入图片
def insert_image_into_document(file_name, image_path):doc = Document(file_name)doc.add_picture(image_path, width=None)  # 可以设置width参数doc.save(file_name)insert_image_into_document('example.docx', 'image.png')
print("图片已成功插入文档中!")
 

解释

这个脚本将指定的图片插入到Word文档中。在撰写报告或制作演示文稿时,图像可以有效增强信息传达,使用这个功能可以快速丰富文档内容。

 

9. 提取文档文本

# 提取Word文档中的所有文本
def extract_text_from_document(file_name):doc = Document(file_name)text = []for para in doc.paragraphs:text.append(para.text)return '\n'.join(text)extracted_text = extract_text_from_document('example.docx')
print("提取的文本内容如下:")
print(extracted_text)
 

解释

该脚本提取Word文档中的所有文本内容并打印出来。这在需要分析或总结文件内容时非常有用,尤其是在从大量文档中提取关键数据时。

 

10. 保存文档副本

# 保存Word文档的副本
def save_document_copy(original_file, copy_file):doc = Document(original_file)doc.save(copy_file)save_document_copy('example.docx', 'copy_of_example.docx')
print("文档副本已成功保存!")
 

解释

此脚本保存Word文档的副本,便于备份和版本控制。在处理重要文件时,定期保存副本是保护数据的重要措施,特别是在进行大规模修改之前。

 

以上就是10个实用的Python Word自动化脚本示例,希望能够帮助你在Word文档处理和自动化方面提高效率!

通过这些简单的示例,你可以看到Python在处理Word文档中的强大功能,同时也希望能激发你深入探索的兴趣。如果你有任何问题或想法,欢迎随时交流!

 

全套Python学习资料分享:

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

 

0a518b331b4b2f6d2b40dafb0e421654.png

 

二、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

 

2d1c62fa602fd374bc3b82b3de1a5204.png

 

三、python入门资料大全

 

845f3b2a6a6579093250249a77cdeaf9.png

 

四、python进阶资料大全

 

3e87d1867f0202ec7ec68c4117e440bc.png

 

五、python爬虫专栏

 

1dbd514e4eda5beaed8f62d95fff7fe2.png

 

六、入门学习视频全套

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

 

0155089f161315be9cce8ce673f9e0aa.png

 

七、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

 

af41106e265197ac130a2c45977ba9c2.png

 

八、python最新面试题

 

fea7dec17ab2aa8b96073505b07535cc.png

相关文章:

10个Word自动化办公脚本

在日常工作和学习中,我们常常需要处理Word文档(.docx)。 Python提供了强大的库,如python-docx,使我们能够轻松地进行文档创建、编辑和格式化等操作。本文将分享10个使用Python编写的Word自动化脚本,帮助新…...

Paddle Inference部署推理(十八)

十八:Paddle Inference推理 (C)API详解 3. 使用 CPU 进行预测 注意: 在 CPU 型号允许的情况下,进行预测库下载或编译试尽量使用带 AVX 和 MKL 的版本 可以尝试使用 Intel 的 MKLDNN 进行 CPU 预测加速,默…...

Redis开发02:redis.windows-service.conf 默认配置文件解析与注解

文件位置:redis安装目录下的 redis.windows-service.conf ,存放了redis服务的相关配置,下面列举出默认配置的含义: 配置项含义bind 127.0.0.1限制 Redis 只监听本地回环地址,意味着只能从本地连接 Redis。protected-m…...

redis大key和热key

redis中大key、热key 什么是大key大key可能产生的原因大key可能会造成什么影响如何检测大key如何优化删除大key时可能的问题删除大key的策略 热key热key可能导致的问题解决热key的方法 什么是大key 大key通常是指占用内存空间过大或包含大量元素的键值对。 数据量大&#xff…...

Dubbo 最基础的 RPC 应用(使用 ZooKeeper)

看国内的一些项目时 Dubbo 这个词经常闪现,一直也不以为然,未作搜索,当然也不知道它是做什么用的。直到最近阅读关于大型网站架构相关的书中反复提到 Dubbo 后,觉得不能再对它视而不见。Google 了一下,它是在阿里巴巴创…...

科技赋能:企业如何通过新技术提升竞争力的策略与实践

引言 在当今瞬息万变的商业环境中,科技的迅猛发展正在重新定义行业的游戏规则。无论是小型企业还是跨国巨头,都感受到数字化转型的迫切需求。过去,企业竞争力更多依赖于成本控制、资源调配或市场覆盖,而如今,新技术的引…...

从0开始深度学习(33)——循环神经网络的简洁实现

本章使用Pytorch的API实现RNN上的语言模型训练 0 导入库 import torch import torch.nn as nn import torch.nn.functional as F from torch.utils.data import Dataset, DataLoader from collections import Counter import re import math from tqdm import tqdm1 准备数据 …...

【FAQ】HarmonyOS SDK 闭源开放能力 — 公共模块

1.问题描述: 文档哪里能找到所有的权限查看该权限是用户级的还是系统级的。 解决方案: 您好,可以看一下下方链接是否可以解决问题: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/permissions-for-all-V…...

百度 文心一言 vs 阿里 通义千问 哪个好?

背景介绍: 在当前的人工智能领域,随着大模型技术的快速发展,市场上涌现出了众多的大规模语言模型。然而,由于缺乏统一且权威的评估标准,很多关于这些模型能力的文章往往基于主观测试或自行设定的排行榜来评价模型性能…...

内网不出网上线cs

一:本地正向代理目标 如下,本地(10.211.55.2)挂好了基于 reGeorg 的 http 正向代理。代理为: Socks5 10.211.55.2 1080python2 reGeorgSocksProxy.py -l 0.0.0.0 -p 1080 -u http://10.211.55.3:8080/shiro/tunnel.jsp 二:虚拟机配置proxifer 我们是…...

ubuntu22开机自动登陆和开机自动运行google浏览器自动打开网页

一、开机自动登陆 1、打开settings->点击Users 重启系统即可自动登陆桌面 二、开机自动运行google浏览器自动打开网页 1、安装google浏览器 sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo dpkg -i ./google-chrome-stable…...

企业建站高性能的内容管理系统

AnQiCMS 是一款高性能的内容管理系统,基于Go语言开发。它支持多站点、多语言管理,提供灵活的内容发布和模板管理功能,同时,系统内置丰富的利于SEO操作的功能,支持包括自定义字段、文档分类、批量导入导出等功能 AnQiC…...

【爬虫框架:feapder,管理系统 feaplat】

github:https://github.com/Boris-code/feapder 爬虫管理系统 feaplat:http://feapder.com/#/feapder_platform/feaplat 爬虫在线工具库 :http://www.spidertools.cn :https://www.kgtools.cn/1、feapder 简介 对于学习 Python…...

faiss库中ivf-sq(ScalarQuantizer,标量量化)代码解读-5

训练过程 通过gdb调试得到这个ivfsq的训练过程,我尝试对这个内容具体训练过程进行解析,对每个调用栈里面的逻辑和代码进行解读。 步骤函数名称调用位置说明1faiss::IndexIVF::train/faiss/IndexIVF.cpp:1143开始训练,判断是否需要训练第一级…...

代码随想录算法训练营第六十天|Day60 图论

Bellman_ford 队列优化算法(又名SPFA) https://www.programmercarl.com/kamacoder/0094.%E5%9F%8E%E5%B8%82%E9%97%B4%E8%B4%A7%E7%89%A9%E8%BF%90%E8%BE%93I-SPFA.html 本题我们来系统讲解 Bellman_ford 队列优化算法 ,也叫SPFA算法&#xf…...

在嵌入式Linux下如何用QT开发UI

在嵌入式 Linux 环境下使用 Qt 开发用户界面 (UI) 是一个常见的选择。Qt 提供了丰富的功能、跨平台支持以及优秀的图形界面开发能力,非常适合用于嵌入式系统。以下是开发流程的详细步骤: 1. 准备开发环境 硬件环境 一块运行嵌入式 Linux 的开发板&…...

【JavaScript】Promise详解

Promise 是 JavaScript 中处理异步操作的一种强大机制。它提供了一种更清晰、更可控的方式来处理异步代码,避免了回调地狱(callback hell)和复杂的错误处理。 基本概念 状态: Pending:初始状态,既不是成功…...

1062 Talent and Virtue

About 900 years ago, a Chinese philosopher Sima Guang wrote a history book in which he talked about peoples talent and virtue. According to his theory, a man being outstanding in both talent and virtue must be a "sage(圣人)"…...

C++《二叉搜索树》

在初阶数据结构中我学习了树基础的概念以及了解了顺序结构的二叉树——堆和链式结构二叉树该如何实现,那么接下来我们将进一步的学习二叉树,在此会先后学习到二叉搜索树、AVL树、红黑树;通过这些的学习将让我们更易于理解后面set、map、哈希等…...

机器学习-神经网络(BP神经网络前向和反向传播推导)

1.1 神经元模型 神经网络(neural networks)方面的研究很早就已出现,今天“神经网络”已是一个相当大的、多学科交叉的学科领域.各相关学科对神经网络的定义多种多样,本书采用目前使用得最广泛的一种,即“神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...