怎么在python中将docx与doc文件进行转换

怎么在python中将docx与doc文件进行转换?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

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

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

怎么在python中将docx与doc文件进行转换

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

doc.SaveAs"{}.pdf".formatfn[:-5]), 17)

需要说明的是:

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

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

doc转docx函数

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

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

import os 
def find_filepath, ext, file_list=[]):
  dir = os.listdirpath)
  for i in dir:
    i = os.path.joinpath, i)
    if os.path.isdiri):
      find_filei, ext, file_list)
    else:
      if ext == os.path.splitexti)[1]:
        file_list.appendi)
  return file_list 
 
dir_path = ""
ext = ".doc"
file_list = find_filedir_path, ext)

源码

import os
from win32com import client
 
def doc_to_docxpath):
  if os.path.splitextpath)[1] == ".doc":
    word = client.Dispatch'Word.Application')
    doc = word.Documents.Openpath) # 目标路径下的文件
    doc.SaveAsos.path.splitextpath)[0]+".docx", 16) # 转化后路径下的文件
    doc.Close)
    word.Quit)
 
def find_filepath, ext, file_list=[]):
  dir = os.listdirpath)
  for i in dir:
    i = os.path.joinpath, i)
    if os.path.isdiri):
      find_filei, ext, file_list)
    else:
      if ext == os.path.splitexti)[1]:
        file_list.appendi)
  return file_list 
 
dir_path = "C:\Users\python"#批量转换文件夹
ext = ".doc"
file_list = find_filedir_path, ext)
for file in file_list:
  doc_to_docxfile)

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注