[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文档的字数统计](https://blog.csdn.net/lzlxlzy/article/details/121630112)

相关推荐
Tanecious.32 分钟前
机器视觉--python基础语法
开发语言·python
ALe要立志成为web糕手41 分钟前
SESSION_UPLOAD_PROGRESS 的利用
python·web安全·网络安全·ctf
Tttian6222 小时前
Python办公自动化(3)对Excel的操作
开发语言·python·excel
蹦蹦跳跳真可爱5893 小时前
Python----机器学习(KNN:使用数学方法实现KNN)
人工智能·python·机器学习
独好紫罗兰3 小时前
洛谷题单2-P5713 【深基3.例5】洛谷团队系统-python-流程图重构
开发语言·python·算法
DREAM.ZL5 小时前
基于python的电影数据分析及可视化系统
开发语言·python·数据分析
Uncertainty!!5 小时前
python函数装饰器
开发语言·python·装饰器
吾日三省吾码6 小时前
Python 脚本:自动化你的日常任务
数据库·python·自动化
snowfoootball6 小时前
基于 Ollama DeepSeek、Dify RAG 和 Fay 框架的高考咨询 AI 交互系统项目方案
前端·人工智能·后端·python·深度学习·高考
橙色小博7 小时前
长短期记忆神经网络(LSTM)基础学习与实例:预测序列的未来
人工智能·python·深度学习·神经网络·lstm