操作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 文件, 并从中读取内容了.

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容