Python批量将doc转成docx并读取docx的内容

有时候我们需要将doc的文件转成docx的格式,但是如果直接修改文件名后缀的话有时候会没有效果,今天我们利用python批量将doc后缀的word文档转成docx的格式。

也找了很多方法,最终还是找到了就是利用win32com去解决这个问题

很多人在执行这一行代码的时候:word = wc.Dispatch("wps.Application"),遇到到这个错误:pywintypes.com_error: -2147221005,是因为金山WPS调用的版本不一致,是因为金山WPS调用:

抢先版、专业版的用,word = wc.Dispatch(“kwps.Application”)

正式版的用, word = wc.Dispatch(“wps.Application”)

那么接下来我们测试一下,我准备了一下doc文件

在这里插入图片描述

视频演示(我删了等待的帧率)

在这里插入图片描述

代码

注意事项:

1、doc = wd.Documents.Open(r"这里最好用绝对路径!!")

2、doc.SaveAs(r"这里的保存路径也用绝对路径", 12)

from win32com.client import Dispatch


def doc_to_docx():
    for f in os.listdir('./doc文件/'):
        # 打开word应用程序
        wd = Dispatch("kwps.Application")
        # 后台运行
        wd.Visible = 0
        wd.DisplayAlerts = 0
        # 打开doc文档,必须给一个绝对路径
        doc = wd.Documents.Open(rf"F:\随笔\测试\doc文件\{
      
      f}")
        # 另存为docx
        doc.SaveAs(rf"F:\随笔\测试\转换结果\{
      
      f.split('.')[0]}.docx", 12)  # 12表示docx格式
        # 关闭文档
    doc.Close()
    # 退出word应用
    wd.Quit()


doc_to_docx()

读取docx文件内容

用到的库是:python-docx

安装:pip install python-docx

视频展示

请添加图片描述

代码

from docx import Document
def read_docx():
    docStr = Document("./转换结果/" + os.listdir("./转换结果/")[0])
    for paragraph in docStr.paragraphs:
        parStr = paragraph.text
        print(parStr)


read_docx()

希望对大家有帮助

致力于办公自动化的小小程序员一枚

都看到这了,关注+点赞+收藏=不迷路!!

猜你喜欢

转载自blog.csdn.net/weixin_42636075/article/details/131510320