利用python中的win32com模块将doc文件转为docx文件

简介

win32com模块的功能也是非常的强大的,能够处理各种的文件

word操作

如何使用python的win32com模块实现将doc类型文件转成docx类型的文件

import os
from win32com.client import Dispatch, DispatchEx


def doc_to_docx(f_path):
    w = Dispatch('Word.Application')
    # w = DispatchEx('Word.Application')  # 启动独立进程
    w.Visible = 0   # 后台运行
    w.DisplayAlerts = 0    # 不警告

    # 打开文件
    doc = w.Documents.Open(f_path)

    # 新建docx类型文件
    new_path = os.path.splitext(f_path)[0] + '.docx'

    '''
    word_doc = w.Documents.Add() # 创建新的文档
    
    # 插入文字
    myRange = doc.Range(0,0)
    myRange.InsertBefore('Hello python!')
    
    # 使用样式
    wordSel = myRange.Select()
    wordSel.Style = constants.wdStyleHeading1
    '''
    # 保存
    doc.SaveAs(new_path, 12, False, "", True, "", False, False, False, False)

    # 关闭退出
    doc.Close()
    w.Quit()

    # 删除源文件
    os.remove(f_path)
    return new_path


doc_to_docx(r"C:\Users\Desktop\新建 Microsoft Word 文档.doc")

利用python-docx模块读取word内容

先安装模块python-docx:pip3 install python-docx

import docx


f = r"C:\Users\Desktop\新建 Microsoft Word 文档.docx"

# 实例化doc对象
doc = docx.Document(f)

# 读取word文字内容,放入列表中
for paragraph in doc.paragraphs:
    print(paragraph.text)

# 读取word表格内容,放入列表中
for table in doc.tables:
    for row in table.rows:
        for cell in row.cells:
            print(cell.text)

Excel操作

后续更新。。。。

转载于:https://www.cnblogs.com/rongge95500/p/11307160.html

你可能感兴趣的:(利用python中的win32com模块将doc文件转为docx文件)