怎么在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 参数
如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)