使用Python获取Word文档关键信息
作者:Eiceblue
计算 Word 文档的页数、字数等信息是出版、学术和内容管理等领域的一项基本任务。准确的页数和字数对于评估文档长度、估算印刷成本、分析文本复杂性以及确保符合格式化指南至关重要。逐个预览文档查看相关信息是非常麻烦的事情,我们可以在不预览文档的情况下,用Python实现快速批量地获取文档中的页数、字数、段落数、节数、词数等关键信息,实现文档的高效管理,简化相关任务流程。
本文所使用的方法需要用到Spire.Doc for Python,可从官网获取通过PyPI:pip install Spire.Doc
。
获取Word文档页数、字数、字符数、段落数以及带空格的字符数
API中提供的 Document.BuiltinDocumentProperties 属性可以获取文档中的一些内置属性,如页数、词数、字符数等信息。以下是操作步骤:
1.导入所需库:spire.doc 和 spire.doc.common 用于处理 Word 文档,os 用于操作系统文件及目录操作。
2.定义待遍历的文件夹路径。
3.创建 Document 类的一个实例 doc,用于加载和操作 Word 文档。
4.使用 os.walk() 遍历指定文件夹及其子文件夹中的所有文件。
5.对于遍历到的每个文件:
- 检查文件扩展名是否为 .doc 或 .docx,若是则表示为 Word 文档。
- 使用 os.path.join() 组合完整文件路径,并使用 doc.LoadFromFile() 方法加载该 Word 文档。
- 调用 doc.UpdateWordCount() 更新文档的字数统计信息,确保统计数据准确。
- 获取文档的内置属性,存储在 builtinProperties 变量中。
- 从内置属性中分别提取文档的页数(PageCount)、段落数(ParagraphCount)、字符数(CharCount)、包含空格的字符数(CharCountWithSpace)和字数(WordCount)。
- 将这些统计信息与对应的文件名一起打印出来。
6.在遍历并处理完所有 Word 文档后,调用 doc.Close() 关闭文档,释放资源。
代码示例
from spire.doc import * from spire.doc.common import * import os # 定义文件夹路径 folderPath = "Documents" # 创建Document实例 doc = Document() # 遍历文件夹中的文档 for root, dirs, files in os.walk(folderPath): for file in files: # 判断文件是否为Word文档 if file.endswith(('.doc', '.docx')): # 载入Word文档 doc.LoadFromFile(os.path.join(root, file)) # 更新字数统计(确保字数统计是最新的) doc.UpdateWordCount() # 获取文档内置属性 builtinProperties = doc.BuiltinDocumentProperties # 获取页数 pageCount = builtinProperties.PageCount # 获取段落数 paragraphCount = builtinProperties.ParagraphCount # 获取字符数 charCount = builtinProperties.CharCount # 获取包含空格的字符数 charCountWithSpaces = builtinProperties.CharCountWithSpace # 获取字数 wordCount = builtinProperties.WordCount # 输出结果 print(f"文档——{file} 页数为:", pageCount) print(f"文档——{file} 段落数为:", paragraphCount) print(f"文档——{file} 字符数为:", charCount) print(f"文档——{file} 包含空格的字符数为:", charCountWithSpaces) print(f"文档——{file} 字数为:", wordCount) doc.Close()
输出结果
用Python计算Word文档节的数量
节的计数不被统计在内置属性中,但我们可以直接使用 Document.Sections.Count 属性计算节的数量。以下是操作步骤:
1.导入所需模块:spire.doc 和 spire.doc.common 用于处理 Word 文档,os 用于操作系统文件及目录操作。
2.定义待遍历的文件夹路径。
3.创建 Document 类的实例 doc,用于加载和操作 Word 文档。
4.使用 os.walk() 遍历指定文件夹及其子文件夹中的所有文件。
5.对于遍历到的每个文件:
- 检查文件扩展名是否为 .doc 或 .docx,如果是,则表示为 Word 文档。
- 使用 os.path.join() 组合得到文件的完整路径,并使用 doc.LoadFromFile() 方法加载该 Word 文档。
- 从文档对象 doc 中获取文档中节(section)的数量,存储在变量 sectionCount 中。
- 将文档名和节的数量一同打印出来,展示文档内部的结构信息。
6.在遍历并处理完所有匹配的 Word 文档后,调用 doc.Close() 方法关闭文档,释放资源。
代码示例
from spire.doc import * from spire.doc.common import * import os # 定义文件夹路径 folderPath = "Documents" # 创建Document实例 doc = Document() # 遍历文件夹中的文件 for root, dirs, files in os.walk(folderPath): for file in files: # 判断文件是否为Word文档 if file.endswith(('.doc', '.docx')): # 载入Word文档 doc.LoadFromFile(os.path.join(root, file)) # 获取文档中节的数量 sectionCount = doc.Sections.Count # 输出结果 print(f"文档——", file, " 节数为:", sectionCount) doc.Close()
输出结果
到此这篇关于使用Python获取Word文档关键信息的文章就介绍到这了,更多相关Python获取Word信息内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!