求推荐可实现文件遍历与内容总结的Python库
求推荐可实现文件遍历与内容总结的Python库
刚好之前帮团队做过类似的小工具,用来批量处理调研数据生成轻量化总结报告,完全适配你「数据量不大但需要自动化替代人工」的需求,给你推荐几个轻量又好用的组合:
一、文件遍历与多格式读取
1. pathlib(Python3.4+ 自带,强推!)
这是Python官方现在主推的路径处理库,比传统的os模块语法优雅太多,遍历服务器上的文件目录简直得心应手——完全不用操心不同服务器系统(Linux/Windows)的路径分隔符问题,递归查找指定格式文件的代码写起来超清爽。
举个快速遍历的小例子:
from pathlib import Path # 指向服务器上的调研数据根目录 survey_root = Path("/home/your-user/survey-collections") # 递归遍历所有.txt和.csv格式的调研文件 target_files = list(survey_root.rglob("*.txt")) + list(survey_root.rglob("*.csv")) for file in target_files: print(f"待处理文件: {file.resolve()}") # 打印文件绝对路径 # 这里可以直接对接后续的读取/总结逻辑
2. python-docx(针对Word格式的调研反馈)
如果你的调研数据里混有Word文档(比如用户提交的手写转Word的开放题反馈),这个库能轻松读取文档里的纯文本内容,轻量无冗余依赖,安装也简单:pip install python-docx
示例代码:
from docx import Document def read_docx_content(file_path): doc = Document(file_path) return "\n".join([para.text for para in doc.paragraphs if para.text.strip()]) # 配合pathlib批量处理Word文件 for doc_file in survey_root.rglob("*.docx"): content = read_docx_content(doc_file) print(f"读取到Word内容片段: {content[:100]}...")
二、内容总结与Markdown生成
1. sumy(轻量文本摘要工具)
如果调研里有大量开放题的长文本反馈,需要自动提炼核心观点,sumy是绝佳选择——它不用调用大型LLM,基于统计和规则方法做摘要,速度快、资源占用低,完全适配小批量文本处理,安装:pip install sumy
示例:提取单篇文本的关键摘要(支持中英文)
from sumy.parsers.plaintext import PlaintextParser from sumy.nlp.tokenizers import Tokenizer from sumy.summarizers.lsa import LsaSummarizer def generate_summary(text, sentence_count=3): # 处理中文的话,把"english"换成"chinese"即可 parser = PlaintextParser.from_string(text, Tokenizer("chinese")) summarizer = LsaSummarizer() summary = summarizer(parser.document, sentence_count) return "\n".join([str(sent) for sent in summary]) # 测试用户开放题反馈 user_feedback = """我觉得这次调研的问题设置很贴合日常使用场景,覆盖了产品的核心功能,但希望后续能增加移动端体验相关的问题,另外问卷提交时偶尔会出现加载卡顿的情况,影响填写体验。""" print(generate_summary(user_feedback))
2. tabulate(快速生成Markdown表格)
如果你的调研数据是结构化的(比如CSV里的选择题统计结果),用tabulate可以一键把数据转换成规范的Markdown表格,生成报告时直接复用就行,安装:pip install tabulate
示例:把统计数据转成Markdown表格
from tabulate import tabulate # 比如统计不同年龄段的调研参与人数 age_stats = [ ["18-25", 45], ["26-35", 62], ["36-45", 28] ] # 生成GitHub风格的Markdown表格 md_table = tabulate(age_stats, headers=["年龄段", "参与人数"], tablefmt="github") print(md_table)
输出的表格可以直接写入Markdown文件,格式完全符合规范,不用手动调整。
最后提个落地小建议
因为你的数据量不大,完全不用上复杂的大数据工具,用上面的库组合起来,核心流程大概是:
- 用
pathlib遍历服务器上所有目标文件 - 按文件类型(TXT/CSV/Word)调用对应库读取内容
- 结构化数据用
tabulate转成MD表格,非结构化文本用sumy生成摘要 - 把所有内容拼接成Markdown/TXT格式,写入服务器指定目录
如果遇到Excel格式的调研数据,再加个openpyxl读取内容就好,都是轻量库,不会给服务器增加额外负担~




