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

Python世界:自动化办公Word之批量替换文本生成副本

Python世界:自动化办公Word之批量替换文本生成副本

    • 任务背景
    • 编码思路
    • 代码实现
    • 相关参考

任务背景

为提高办公效率,用python试手了一个word任务,要求如下:

给你一个基础word文档A,格式为docx,名字为:A.docx。A文档中有表格和文字,要求是将里面的字符串"完成绘画"分别替换成完成制作款式x复习制作款式x,输出相应副本,命名为对应序号增序文档,如:1、A.docx, 2、A.docx

要求是输出1000份这样的增序文档。

编码思路

从问题中可提炼以下实现思路:

  • 初始化,输入目标目录、文件命名格式、待替换源字符串、目标字符串
  • 支持文档段落和表格内容查找,支持文本替换
  • 文本增序和命名增序处理

效果预览:

在这里插入图片描述

在这里插入图片描述

代码实现

文件名:doc_copy_replace.py

代码如下:

# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
"""
Created on Tue Oct 29 22:20:16 2024
@author: 来知晓
"""from docx import Documentdef read_ducment(old, new, document):# 遍历文档for paragraph in document.paragraphs:for run in paragraph.runs:#替换功能if old in run.text:run.text=run.text.replace(old,new)# 遍历表格for table in document.tables:for row in table.rows:for cell in row.cells:#遍历表格段落内容,回到上个步骤,将cell当作paragraph处理for paragraph in cell.paragraphs:for run in paragraph.runs:#替换功能if old in cell.text:run.text=run.text.replace(old,new)# doc_path = r'D:\iocode\来知晓\tmp\A.docx'
# doc_new_path = r'D:\iocode\来知晓\tmp\new.docx'
# str_src = '完成绘画'
# str_tar_odd = '完成制作款式'
# str_tar_even = '复习制作款式'# # 单样例测试
# document = Document(doc_path)
# read_ducment(str_src, str_tar, document)
# document.save(doc_new_path)# 正式demo
cnt = 1000
doc_new_dir = r'D:\iocode\来知晓\tmp'
doc_path_origin = r'D:\iocode\来知晓\tmp\A.docx'
str_src = '完成绘画'
str_tar_odd = '完成制作款式'
str_tar_even = '复习制作款式'cnt_d2 = cnt // 2
str_split = '\\'for i in range(cnt_d2):k = i + 1str_file_name = r'、A.docx'doc_new_path_odd = doc_new_dir  + str_split + str(2*k-1) + str_file_namestr_tar_odd_conca = str_tar_odd + str(k)document_odd = Document(doc_path_origin)read_ducment(str_src, str_tar_odd_conca, document_odd)document_odd.save(doc_new_path_odd)doc_new_path_even = doc_new_dir + str_split + str(2*k) + str_file_namestr_tar_even_conca = str_tar_even + str(k)document_even = Document(doc_path_origin)read_ducment(str_src, str_tar_even_conca, document_even)document_even.save(doc_new_path_even)

相关参考

  1. python-docx替换文档段落及表格table指定内容,不改变格式方法
  2. Python 如何使用python-docx替换Word文档中的文本并保存

http://www.mrgr.cn/news/61759.html

相关文章:

  • appium文本输入的多种形式
  • 【达梦数据库】两台或多台服务器之间免密登录设置-【dmdba用户】
  • java前后端项目问题总结
  • python基础(类、实例、属性、方法)
  • Redis 淘汰策略 问题
  • windows DLL技术-DLL使用共享内存
  • nginx[新手用][模块化][高效]配置
  • 使用命令行上传 ipa 到 App Store(iTMSTransporter 3.3)
  • [JAVAEE] 面试题(二) - CAS 和 原子类
  • 计算机组成原理之高级语言程序与机器级代码之间的对应、高级语言和机器级代码的具体示例
  • 优化云成本,打造卓越体验,他们有话说
  • 微信小程序 - 获取汉字拼音首字母(汉字英文首字母)根据汉字查拼音,实现汉字拼音首字母获取,在小程序上实现汉字的拼音提取首字母!
  • [专有网络VPC]管理VPC配额
  • 智慧园区 | 数智引领,让智慧触手可及
  • String的长度有限,而我对你的思念却无限延伸
  • IDEA 打包首个java项目为jar包
  • 开箱即用!智能文档处理“百宝箱”
  • Faces in Things数据集: 由麻省理工学院、微软等联合发布,探索人类视觉错觉的新里程碑
  • Ollama运行本地LLM大模型简单教程:大显存很重要
  • 【Golang】Golang的数组和slice切片的区别
  • 数据集(Dataset)是指为特定目的而收集、整理、存储的数据集合
  • 雷池社区版配置同步试用
  • 最长公共子串问题
  • 【Linux系统编程】第三十九弹---探索信号处理的奥秘:阻塞信号与sigset_t的深入剖析及实战
  • BUUCTF靶场Misc练习
  • yarn 下载安装、下载依赖、通过 vscode 运行服务(Windows11)