• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python 实现docx与doc文件的互相转换

    因文件格式要求,需要将docx 与doc文件相互转换,特寻找python代码,与大家共分享

    from win32com import client
    #转换doc为docx
    def doc2docx(fn):
      word = client.Dispatch("Word.Application") # 打开word应用程序
      #for file in files:
      doc = word.Documents.Open(fn) #打开word文件
      doc.SaveAs("{}x".format(fn), 12)#另存为后缀为".docx"的文件,其中参数12或16指docx文件
      doc.Close() #关闭原来word文件
      word.Quit()
    #转换docx为doc
    def docx2doc(fn):
      word = client.Dispatch("Word.Application") # 打开word应用程序
      #for file in files:
      doc = word.Documents.Open(fn) #打开word文件
      doc.SaveAs("{}".format(fn[:-1]), 0)#另存为后缀为".docx"的文件,其中参数0指doc
      doc.Close() #关闭原来word文件
      word.Quit()
    docx2doc(u"d:\\python\\1.docx")
    

    如果想转换为其他格式文件,需要在format文件名内修改,并用如下save as 参数

    如docx转换为pDf,用如下语句:

    doc.SaveAs("{}.pdf".format(fn[:-5]), 17)

    需要说明的是:

    要安装OFFICE,如果是使用金山WPS的,则还不能应用

    补充:python批量将文件夹内所有doc转成docx

    doc转docx函数

    import os
    from win32com import client
     
    def doc_to_docx(path):
      if os.path.splitext(path)[1] == ".doc":
        word = client.Dispatch('Word.Application')
        doc = word.Documents.Open(path) # 目标路径下的文件
        doc.SaveAs(os.path.splitext(path)[0]+".docx", 16) # 转化后路径下的文件
        doc.Close()
        word.Quit()
     
    path = ""#填写文件夹路径
    doc_to_docx(path)

    获取文件夹下的所有文件的绝对路径

    import os 
    def find_file(path, ext, file_list=[]):
      dir = os.listdir(path)
      for i in dir:
        i = os.path.join(path, i)
        if os.path.isdir(i):
          find_file(i, ext, file_list)
        else:
          if ext == os.path.splitext(i)[1]:
            file_list.append(i)
      return file_list 
     
    dir_path = ""
    ext = ".doc"
    file_list = find_file(dir_path, ext)

    源码

    import os
    from win32com import client
     
    def doc_to_docx(path):
      if os.path.splitext(path)[1] == ".doc":
        word = client.Dispatch('Word.Application')
        doc = word.Documents.Open(path) # 目标路径下的文件
        doc.SaveAs(os.path.splitext(path)[0]+".docx", 16) # 转化后路径下的文件
        doc.Close()
        word.Quit()
     
    def find_file(path, ext, file_list=[]):
      dir = os.listdir(path)
      for i in dir:
        i = os.path.join(path, i)
        if os.path.isdir(i):
          find_file(i, ext, file_list)
        else:
          if ext == os.path.splitext(i)[1]:
            file_list.append(i)
      return file_list 
     
    dir_path = "C:\Users\python"#批量转换文件夹
    ext = ".doc"
    file_list = find_file(dir_path, ext)
    for file in file_list:
      doc_to_docx(file)

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

    您可能感兴趣的文章:
    • python-docx文件路径问题的解决方案
    • python-docx文件定位读取过程(尝试替换)
    • python操作docx写入内容,并控制文本的字体颜色
    • 基于python的docx模块处理word和WPS的docx格式文件方式
    • Python使用docx模块实现刷题功能代码
    • python-docx 页面设置详解
    上一篇:使用pyqt5搭建yolo3目标识别界面的方法
    下一篇:Python OpenCV招商银行信用卡卡号识别的方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python 实现docx与doc文件的互相转换 python,实现,docx,与,doc,文件,