You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python统计目录下docx文件含空格字符数 除以65后导出至Excel

前置依赖安装

脚本依赖三个第三方库,先在终端执行以下命令安装:
pip install python-docx pandas openpyxl

实现逻辑
  • 遍历指定目标目录,自动过滤非docx格式文件,同时跳过Word运行时生成的~$开头临时缓存文件,避免统计无效文件
  • 逐文件读取内容,同时覆盖普通段落、内嵌表格内的所有文本,统计包含空格在内的总字符长度
  • 按规则将总字符数除以65得到最终计算值,默认保留2位小数,可自行调整精度
  • 所有文件处理完成后,将文件名、总字符数、最终计算值统一写入Excel文件保存
完整可运行代码
import os
from docx import Document
import pandas as pd

# -------------------------- 配置项 按需修改 --------------------------
TARGET_DIR = r"C:\你的文档存放实际目录"  # 替换为本地存放docx文件的目录路径
EXPORT_EXCEL_PATH = "docx字符统计结果.xlsx"  # Excel结果导出路径
DIVISOR = 65  # 固定除数为65
# -------------------------------------------------------------------

def count_docx_chars(file_path: str) -> int:
    """统计单个docx文件含空格的总字符数,覆盖段落+表格内容"""
    total_chars = 0
    doc = Document(file_path)
    # 统计普通段落字符
    for para in doc.paragraphs:
        total_chars += len(para.text)
    # 统计表格内字符,避免内容遗漏
    for table in doc.tables:
        for row in table.rows:
            for cell in row.cells:
                total_chars += len(cell.text)
    return total_chars

if __name__ == "__main__":
    result_list = []
    # 遍历目录筛选文件
    for filename in os.listdir(TARGET_DIR):
        if filename.lower().endswith(".docx") and not filename.startswith("~$"):
            file_full_path = os.path.join(TARGET_DIR, filename)
            try:
                char_count = count_docx_chars(file_full_path)
                calc_value = round(char_count / DIVISOR, 2)  # 保留2位小数,可自行修改
                result_list.append({
                    "文件名": filename,
                    "字符总数(含空格)": char_count,
                    "最终计算值(字符数/65)": calc_value
                })
                print(f"处理完成:{filename},字符数:{char_count},计算值:{calc_value}")
            except Exception as e:
                print(f"处理文件 {filename} 失败:{str(e)}")
    # 导出结果到Excel
    df = pd.DataFrame(result_list)
    df.to_excel(EXPORT_EXCEL_PATH, index=False, engine="openpyxl")
    print(f"全部处理完成,结果已保存至:{os.path.abspath(EXPORT_EXCEL_PATH)}")
使用注意事项
  • 运行前先修改代码开头的TARGET_DIR配置,替换为本地存放docx文件的实际目录,Windows路径建议加r前缀避免转义报错
  • 脚本运行时会在控制台实时打印每个文件的处理进度,遇到加密、损坏无法读取的文件会打印错误信息,不会中断整体统计流程
  • 导出的Excel默认保存在脚本运行的同级目录,如果需要自定义保存路径,修改EXPORT_EXCEL_PATH配置即可
  • 如果不需要统计表格内的字符,直接删除count_docx_chars函数中遍历表格的代码段即可
  • 注意:脚本仅支持.docx格式文件,旧版.doc格式文件需要先手动转换为docx格式后再进行统计

内容的提问来源于stack exchange,提问作者Cyper-Python

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 07:27:20