用python实现批量替换.doc文件文件内容

摘要:
实现整个功能最重要的模块是docx。模块安装语句pipinstallpython docxdocx模块只能对.docx文件进行操作。因此,在此之前,我们需要转换。doc文件无法直接转换为.docx文件。对于docx文件,如果直接更改后缀名,将导致文件无法打开或乱码。所以我们需要将文件保存在中。docx格式。

整个功能实现最重要的模块是docx这个模块

安装语句

pip install python-docx

docx模块只能操作.docx文件,所以在这之前我们要将.doc文件转换成.docx。.doc文件是不能直接转换成.docx文件的,如果直接改后缀名会引起文件打不开或者乱码问题。

所以我们需要将文件另存为.docx格式。

import sys
import pickle
import re
import codecs
import string
import shutil
from win32com import client as wc
import docx
import os
 
path = "C:\Users"#需修改文件所在文件夹
files = []#需修改文件列表
#读取文件夹中文件列表
for file1 in os.listdir(path):
    if file1.endswith(".doc"):
        files.append(file1)
 
def doSaveAas(files):
    word = wc.Dispatch('Word.Application')
    for docname in files:
        temp='C:\Users\{}'.format(docname) 
        doc = word.Documents.Open(temp)        # 目标路径下的文件
        new_world = docname + "x"
        doc.SaveAs(u'C:\Users\{}'.format(new_world), 12, False, "", True, "", False, False, False, False)  # 转化后路径下的文件    
        doc.Close()
    word.Quit()

doSaveAas(files)

转化为docx文件后我们要来实现将指定目标替换的功能了,我需要实现的功能是将文件表格里的日期进行替换

import os
import docx

#读取需要操作的文件的列表
path = "C:\Users"
files = []#生成的文件队列
for file1 in os.listdir(path):
    if file1.endswith(".docx"):
        files.append(path+"\"+file1)

#替换词
def exchange(docname,old_word,new_word):#old_word是将要被替换的词,new_word是替换词
    for table in doc.tables:
        for row in table.rows:
            for cell in row.cells:
                cell.text = cell.text.replace(old_word,new_word)

for file2 in files: 
    doc = docx.Document(file2)        
    exchange(file2,"old_word","new_word")
    doc.save(file2)
    print("{}替换完成".format(file2))

这段代码仅能替换docx文件表格里的内容,不能替换正文内容

免责声明:文章转载自《用python实现批量替换.doc文件文件内容》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Mule 入门之:环境搭建impala客户端连接下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python 编程中的一个关于图片的库 imageio (读取照片RGB内容,转换照片格式)

最近在看机器学习方面的东西,经常遇到需要把某个类型的照片中 RGB 内容读取出来, 在python中照片显示用matplotlib就可以做到,但是导入不同格式的照片,保持出不同格式的照片numpy, scipy, matplotlib 往往不是很能搞的定,于是就有了先手动转换照片格式,然后再用scipy进行导入的这一步骤。今天在看代码的时候无意中发现了一个...

Python接口测试入门

接口测试基础篇用几个简单的案例,带你轻松了解接口测试 首先了解一下接口测试的重要性: 接口测试有什么要求呢? 首先需要清晰的接口文档,标准如下: 接口名称 接口类型 输入参数 每个参数名; 每个参数类型; 每个参数业务含义; 每个是否可空; 每个字段长度(可选,一般需要提供,有严格要求的字段需特别注明); 输出参数 状态码; 提示信息; 每个参...

在Python中运行gmssl

目录 在Python中运行gmssl Python版本 gmssl介绍 安装gmssl包 基于gmssl的SM2、3、4算法实现 SM2算法 SM3算法 SM4算法 在Python中运行gmssl Python版本 Python 3.8.1 gmssl介绍 ​ GmSSL是一个开源的加密包的python实现,支持SM2/SM3/SM4等...

Python多进程与多线程

1、基本概念 2、多线程内容方法 3、多进程内容方法 1、基本概念 1.1 线程 1.1.1 什么是线程 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流, 一个进程中可以并发多个线程,每条线程并行执行不同的任务。A thread is an execution context,...

nagios监控安装esxi的服务器(宿主机)

首先,该博文大部分内容来自网络,少部分是自己监控过程中遇到的问题。如果有侵权,请联系告知!!! 现在互联网公司,有能力的都是自己研发监控系统,要么就是zabbix或者小米的监控,还都二次开发等等,可能使用nagios的不是那么多。哈哈,做个记录,仅供参考!!! <准备部署使用open-Falcon(小米开源)> 以下内容大部分来自网络: 普通的...

python接口自动化测试

(1)环境准备: 接口测试的方式有很多,比如可以用工具(jmeter,postman)之类,也可以自己写代码进行接口测试,工具的使用相对来说都比较简单,重点是要搞清楚项目接口的协议是什么,然后有针对性的进行选择,甚至当工具不太适合项目时需要自己进行开发。 在我们项目的初期,我们采用的是jmeter进行接口测试,当时觉得这个工具上手简单,团队成员学习成本低,...