将doc转为docx

转换原因

想使用python的docx模块读取文档中内容进行处理
但当前文档为doc,且docx模块无法打开doc,故需要先将doc转为docx

使用python的win32com模块将doc转为docx

导入模块

from win32com.client import Dispatch

打开 doc

用Dispatch()的方式启动MS Word或与当前已执行的MS Word建立连结

word = Dispatch('Word.Application')

因当前传入的为文档名称(默认其与当前python模块在同目录下)
因传入Open的需是绝对路径
故使用 sys.path[0] 获取当前模块所在的目录

doc = word.documents.Open(目标doc文档的绝对路径)

另存为 docx

保存格式(FileFormat )为12表示保存为docx
但目前未在网络上搜索到明确的有关FileFormat的信息

doc.SaveAs(要创建的docx文档的绝对路径, FileFormat = 12)

善后

doc.Close()
word.Quit()

完整代码

from win32com.client import Dispatch
import sys

def docToDocx(docPath, docxPath):
    '''将doc转存为docx'''
    word = Dispatch('Word.Application')
    pathPrefix = sys.path[0]+'\\'
    doc = word.Documents.Open(pathPrefix+docPath)
    doc.SaveAs(pathPrefix+docxPath, FileFormat=12)
    doc.Close()
    word.Quit()
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容