Python在Words文档中查找替换字符串并在字符串之前创建两个段落

2023-12-13

我有一个 VBA 宏。在那方面,我有

.Find Text = 'Pollution'
.Replacement Text = '^p^pChemical'

Here, '^p^pChemical'表示将“污染”一词替换为“化学”,并在“海洋”一词之前创建两个空段落。

Before:

enter image description here

After:

您是否注意到“污染”一词已被“化学”取代,并且前面有两个空段落?这就是我想要的Python。

enter image description here

到目前为止我的代码:

import docx
from docx import Document
    document = Document('Example.docx')
    for Paragraph in document.paragraphs:
        if 'Pollution' in paragraph:
             replace(Pollution, Chemical)
        document.add_paragraph(before('Chemical'))
        document.add_paragraph(before('Chemical'))

我想打开一个word文档找到该单词,将其替换为另一个单词,并在替换的单词之前创建两个空段落。


您可以搜索每个段落以找到感兴趣的单词,然后调用insert_paragraph_before添加新元素:

def replace(doc, target, replacement):
   for par in list(document.paragraphs):
        text = par.text
        while (index := text.find(target)) != -1:
            par.insert_paragraph_before(text[:index].rstrip())
            par.insert_paragraph_before('')
            par.text = replacement + text[index + len(target)]

list(doc.paragraphs)制作列表的副本,以便在插入元素时不会丢失迭代。

根据需要多次调用此函数以替换您拥有的任何单词。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python在Words文档中查找替换字符串并在字符串之前创建两个段落 的相关文章

随机推荐

  • 如何让执行 PHP 脚本的 Cronjob 运行时间超过 30 秒?

    我如何将其重写为每天运行超过 30 秒的 cron 另外 我需要编辑 htaccess or php ini文件在cron php目录说些什么 在浏览器上 它可以正常运行 30 秒以上 在外壳上 它也运行得很好 但作为一个 cron 设置的
  • 如何在 Eclipse 中使用引用的项目

    好吧 也许每个人都知道如何做到这一点 但我从来没有尝试过 因为我从来没有需要它 所以 你如何在 Eclipse 中处理多个引用的项目 我有几个 Struts 1 Web 应用程序 它们必须使用另一个 struts 1 库 项目 现在我正在使
  • 如何排除 Maven 插件中的依赖关系?

    我有一个项目需要以下 Maven jibx 插件
  • 在另一个 JNI 函数中使用时 Oop 被损坏

    问题是我们可以缓存吗jclass and jmethodID跨不同的 JNI 方法调用 当尝试使用缓存创建某个特定类的对象时 我遇到了一些奇怪的行为jclass and jmethodID来自另一个 JNI 方法调用 这是一个简单的例子 p
  • 在哪里可以找到一个好的 JavaScript/HTML AutoSuggest 示例 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我正在寻找 JavaScr
  • 从派生类访问基类中的类型别名[重复]

    这个问题在这里已经有答案了 当尝试从派生类访问基类中的类型别名时 我面临以下问题 template
  • WebView动态插入/修改内容

    在我的应用程序中 我使用 WebView 来显示内容 现在是否可以动态修改内容 需求是这样的 我将从网络获取信息 并根据它们我需要设置样式 字体 属性 或者当连接的设备没有响应时我可能需要附加新文本 到目前为止我正在使用以下代码 void
  • Java webstart max-heap-size导致JVM无法启动

    我们在客户端使用 java web start 来构建基于 java swing 的应用程序 最近 当单击 jnlp 链接时 我们遇到了一个奇怪的 无法启动 java 虚拟机 错误 我们很快就发现了这一点 因为 jnlp 文件中的 max
  • 如何解决循环引用?

    如何解决循环引用问题 例如 A 类将 B 类作为其属性之一 而 B 类将 A 类作为其属性之一 架构师该如何解决这类问题呢 如果以NHibernate为例 对象之间就会存在父子关系 它如何处理这些父子场景 在大多数情况下 当我必须让两个事物
  • 使用 Paramiko 将文件从远程目录复制到远程子目录

    如何复制远程服务器中的文件 maindir fil1 txt到子目录 maindir subdir file1 txt 我使用 SFTP 实现paramiko 但它总是检查要复制的本地路径 filename full path maindi
  • 未找到类定义错误 (android)

    我正在开发一个应用程序 我可以启动我的启动器活动 它有两个按钮 单击这些按钮中的任何一个时 都应该打开一个新活动 但是 随后会发生运行时错误 import android app Activity import android conten
  • 禁用 Laravel 内置的错误处理方法

    有没有办法一起禁用 Laravel 错误处理程序 我想简单地显示标准 PHP 错误 not the Whoops looks like something went wrong errors 这会严重违反框架的原则 如果您仍然感兴趣 我将在
  • 连接具有不同数据类型的两个表 MS ACCESS -“表达式中的类型不匹配”错误

    我正在尝试使用两个实时 CSV 运行访问查询 这两个 CSV 具有不同数据类型 数字和短文本 的公共字段 我发现您可以使用 CStr 连接不同的数据类型 我已将 CStr 添加到 sql 视图上的代码中 请找到下面的代码 这为我提供了我想要
  • 如何在Windows Phone中创建SESSION

    string uname txt1 Text string pwd txt2 Text NavigationService Navigate new Uri newPage xaml name uname pwd pwd UriKind R
  • 使用 Swift 在一个 ViewController 中强制横向模式

    我试图在横向模式下仅强制我的应用程序中的一个视图 我正在打电话 override func shouldAutorotate gt Bool print shouldAutorotate return false override func
  • AVFoundation 重现视频循环

    我需要在 OpenGL 应用程序中无限期地重现视频 视频结束时重新启动 为此 我尝试利用 AV 基础 我创建了一个 AVAssetReader 和一个 AVAssetReaderTrackOutput 并利用 copyNextSampleB
  • 从文本中获取CGPath

    海吉同志们 我目前正在尝试将一个字母和 或多个字母转换为 CGPathRef 以便手动将它们绘制到自定义 UIView 中 我尝试了 CoreText 和 Framesetters 的方法 包括这个小片段 但它似乎不起作用 NSAttrib
  • 如何从 subprocess.communicate() 捕获 python 中的流输出

    目前 我有这样的事情 self process subprocess Popen self cmd stdout subprocess PIPE out err self process communicate 我正在运行的命令会流式传输输
  • 自动完成查找字符串包含的符号而不是开头的符号

    我正在编写一个程序 该程序在某一时刻实现了TextBox具有自动完成功能 目前 为了简单起见 我正在使用CustomSource在设计时手动填充多个条目 虽然自动完成工作正常 但我希望它提出的建议不仅仅是从 开始当前输入的文本 但是包含它在
  • Python在Words文档中查找替换字符串并在字符串之前创建两个段落

    我有一个 VBA 宏 在那方面 我有 Find Text Pollution Replacement Text p pChemical Here p pChemical 表示将 污染 一词替换为 化学 并在 海洋 一词之前创建两个空段落 B