用python修改word文档,实现对字符的替换(win32com和docxl两种方法) 您所在的位置:网站首页 qq号怎么注册支付宝申请注册不了 用python修改word文档,实现对字符的替换(win32com和docxl两种方法)

用python修改word文档,实现对字符的替换(win32com和docxl两种方法)

2024-06-18 14:57| 来源: 网络整理| 查看: 265

win32com是模拟office,进行修改的,效率没有docx快,可以根据自己的实际情况使用。 1.docx docx 下载命令:pip install docx 代码实现:

import docx doc = docx.Document('D:/Pycharm/Company/wrok_test1/1.docx') for paragraph in doc.paragraphs: if '好高兴' in paragraph.text: #好高兴为word中的字,111,为要替换的字 paragraph.text = paragraph.text.replace('好高兴', '111') doc.save('new.docx')

2.win32com win32com下载命令:python -m pip install pypiwin32(用此命令下载,不会报错,直接用 pip instlal win32com,下载会报错) 代码实现:

import win32com.client #传参,docx路径,需要替换的,替换的字 def replace_main(path,old_text,new_text): word = win32com.client.Dispatch("Word.Application") # 模拟打开 office doc = word.Documents.Open(path) word.Selection.Find.ClearFormatting() word.Selection.Find.Replacement.ClearFormatting() #1.True--区分大小写,2.True--完全匹配的单词,并非单词中的部分(全字匹配)3.True--使用通配符, # 4.True--同音,5.True--查找单词的各种形式,6.True--向文档尾部搜索,7.True--带格式的文本。 # 2 - -替换个数(0表示不替换,1 表示只替换匹配到的第一个,2 表示全部替换)True--区分大小写,不可省略 # word.Selection.Find.Execute(old_text, False, False, False, False, False, True, 1, False, new_text, 2) word.Selection.Find.Execute(old_text, False, False, False, False, False, True, 1, False, new_text, 2) doc.Close(SaveChanges=True) word.Quit() if __name__ == '__main__': path = 'D:/Pycharm/Company/wrok_test1/1.docx' old_text = "哈哈哈" new_text = "111" replace_main(path,old_text,new_text)

借鉴的一个博客:https://blog.csdn.net/xifeijinbi/article/details/119211442



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有