乐趣区

关于python:操作DOCX文件

  • 简介
  • 格局类型
  • 转换 doc 为 docx 文件
  • 读写 docx 文件
  • 小结

简介

Word 是十分常见的文件格式, 能够应用 python 来操作 Word 文档.

格局类型

Word 有两种类型的文档, 文件后缀别离为 .doc.docx.
前者是 Office 2003 时的格局, 后者是 Office 2007 当前推出的新格局.
通常来说, 我倡议大家应用新版本, 然而免不了很多时候会应用老版本.

转换 doc 为 docx 文件

这是在 linux 上应用的, 须要借助 soffice.
如果须要在 windows 上操作, 倡议应用 win32com.
这里有一个参考连贯.

import glob
import subprocess
from pathlib import Path

"""借助 soffice 将 doc 转换为 docx"""

base_dir = Path(__file__).resolve().parent
print(base_dir)

doc_list = glob.glob(base_dir.as_posix() + "/**/*.doc", recursive=True)
print(doc_list)


for doc in doc_list:
    subprocess.call(
        [
            "soffice",
            "--headless",
            "--convert-to",
            "docx",
            "--outdir",
            Path(doc).parent.as_posix(),
            doc,
        ]
    )


doc_list = glob.glob(base_dir.as_posix() + "/**/*.docx", recursive=True)
print(doc_list)s

读写 docx 文件

这里举荐应用 python-docx.

pip install python-docx

简略应用

from docx import Document

doc = Document(doc_path)

# 读取表格列表
table_list = doc.tables
# 读取段落
paragraph_list = [x.text.strip() for x in doc.paragraphs if x.text.strip()]

更多的内容能够参考官网文档.

小结

当初, 咱们曾经能够应用 python 转换 doc 为 docx 文件, 并从中读取内容了.

退出移动版