10个Word自动化办公脚本

news/2025/1/25 20:17:43

在日常工作和学习中,我们常常需要处理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


https://dhexx.cn/news/show-5466342.html

相关文章

React进阶面试题目(三)

如何在 React 中实现滚动动画? 在 React 中实现滚动动画可以通过多种方式实现,以下是一个基本的实现步骤: 构建组件:首先构建需要展示滚动动画的组件,例如一个 About 组件,它包含一些文本或元素。监听滚动…

Flutter Container设置padding,margin,背景色,边框

定义:Container是一个组件,当我们需要对基础组件,设置padding,margin,边框,背景色等元素时,就需要通过包裹Container的方式实现。具体如下: 1.magin属性设置: Cont…

在shardingsphere执行存储过程

环境&#xff1a; springboot&#xff1a;2.5.2 数据库&#xff1a;Kingbase金仓V8R6 依赖&#xff1a; <dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId></depende…

使用Python编写Windows系统服务管理脚本,主要用于管理mysql、postgresql等服务

提示&#xff1a; 1、理论上该Python脚本可以关闭和开启所有服务 2、搜索服务采用的是模糊搜索 3、常用服务查询: 暂时只写了 mysql、postgresql 如需要其他的自行添加即可 使用方式&#xff08;使用管理员权限运行&#xff09;&#xff1a; 运行方式一&#xff1a;使用管理员…

【Rust 学习笔记】Rust 基础数据类型介绍(一)

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 博客内容主要围绕&#xff1a; 5G/6G协议讲解 高级C语言讲解 Rust语言讲解 文章目录 Rust 基础数据类型介绍&#xff08;一&#xff09;一、固定宽…

RabbitMQ高级特性:TTL、死信队列与延迟队列

RabbitMQ高级特性&#xff1a;TTL、死信队列与延迟队列 RabbitMQ作为一款开源的消息代理软件&#xff0c;广泛应用于分布式系统中&#xff0c;用于实现消息的异步传递和系统的解耦。其强大的高级特性&#xff0c;包括TTL&#xff08;Time-To-Live&#xff09;、死信队列&#…

初始化hive元数据库报错org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.

最近&#xff0c;我在学习hive的时候&#xff0c;用MySQL作为hive的元数据库&#xff0c;配置好hive-site.xml文件后初始化hive的元数据库失败&#xff0c;显示错误为&#xff1a; org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version. Unde…

论文笔记(五十七)Diffusion Model Predictive Control

Diffusion Model Predictive Control 文章概括摘要1. Introduction2. Related work3. 方法3.1 模型预测控制3.2. 模型学习3.3. 规划&#xff08;Planning&#xff09;3.4. 适应 4. 实验&#xff08;Experiments&#xff09;4.1. 对于固定奖励&#xff0c;D-MPC 可与其他离线 RL…

Scrapy管道设置和数据保存

1.1 介绍部分&#xff1a; 文字提到常用的Web框架有Django和Flask&#xff0c;接下来将学习一个全球范围内流行的爬虫框架Scrapy。 1.2 内容部分&#xff1a; Scrapy的概念、作用和工作流程 Scrapy的入门使用 Scrapy构造并发送请求 Scrapy模拟登陆 Scrapy管道的使用 Scrapy中…

使用 Vite 创建 Vue3+TS 项目并整合 ElementPlus、Axios、Pinia、Less、Vue-router 等组件或插件

前言 记录一下使用 Vite 创建 Vue3TS 项目并整合 ElementPlus、Axios、Pinia、Less、Vue-router 等组件或插件。 一、使用 Vite 创建 Vue3TS 项目 1.新建一个 temp 文件夹 &#xff08;1&#xff09;在桌面新建一个 temp 文件夹&#xff0c;然后在 VS Code 中打开此文件夹&…