[Python]使用python统计docx文档字符、单词数

一、简介

本文介绍了如何使用python中的docx包统计.docx文档中的字符数、字数。

二、方法

1. 统计单个文档中的字符数

python 复制代码
#!/usr/bin/env python3
import docx

character_cnt = 0
document_file_path = "./input.docx"

doc = docx.Document(document_file_path)  # 打开 word 文档
for para in doc.paragraphs:  # 遍历 word 文档的所有段落
    character_cnt += len(para.text)  # para.text 为某段落的所有字符,len 即为段落字符数量

print("总字符数为:", character_cnt)

2.统计单个文档中的单词数

python 复制代码
#!/usr/bin/env python3
import docx

word_cnt = 0
document_file_path = "./input.docx"

doc = docx.Document(document_file_path)  # 打开 word 文档

for para in doc.paragraphs: # 遍历 word 文档的所有段落
    words = para.text.split()  # 根据空格分割单词
    word_cnt += len(words)

print("总单词数为:", word_cnt)

3.统计当前目录下所有文档中的字符数、字数

python 复制代码
#!/usr/bin/env python3

import os
import docx

path = './'  # word文档文件夹路径
word_list = os.listdir(path)  # 获取文件夹下的文件列表


for i in word_list:
    if i.endswith(".docx"):
        character_cnt = 0
        word_cnt = 0
        doc = docx.Document(path + '{}'.format(i))  # 打开每一个 word 文档
        for para in doc.paragraphs:  # 遍历某一个 word 文档的所有段落
             character_cnt+= len(para.text)  # para.text 为某段落的所有字符,len 即为段落字符数量
        
        for para in doc.paragraphs:
            words = para.text.split()  # 根据空格分割单词
            word_cnt += len(words)
        print("文档:", i)
        print("总字符数为:", character_cnt)
        print("总单词数为:", word_cnt)

三、参考

1.Python实现word文档的字数统计

相关推荐
兵慌码乱17 小时前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
luckdewei20 小时前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python
aqi001 天前
15天学会AI应用开发(八)使用向量数据库实现RAG功能
人工智能·python·大模型·ai编程·ai应用
Csvn1 天前
`functools.lru_cache` —— 一行代码搞定缓存加速
后端·python
金銀銅鐵2 天前
[Python] 从《千字文》中随机挑选汉字
后端·python
cup112 天前
[技术复盘] Windows Python 打包实战:Nuitka 环境踩坑总结与 CI 自动化构建全指南
python·ai·环境变量·ci·nuitka·skill
aqi002 天前
15天学会AI应用开发(七)有了大模型为什么还要引入RAG
人工智能·python·大模型·ai编程·ai应用
金銀銅鐵2 天前
用 Python 实现 Take-Away 游戏
python·游戏