使用 Python 批量统计文件夹下 txt 文件中的特定关键词词频,并将输出结果导出到 Excel

本文将介绍如何使用 Python 脚本批量统计指定文件夹下所有 txt 文件中特定关键词的词频,并将结果导出到 Excel 表格中。

代码示例

import os
import re
import collections
import xlwt

# 统计关键词的词频
def count_word(file_path, keyword):
    with open(file_path, 'r', encoding='utf-8') as f:
        content = f.read()
        word_list = re.findall(keyword, content)
        return collections.Counter(word_list)[keyword]

# 遍历文件夹下的所有txt文件,统计关键词的词频
def traverse_folder(folder_path, keyword):
    result = []
    for root, dirs, files in os.walk(folder_path):
        for file in files:
            if file.endswith('.txt'):
                file_path = os.path.join(root, file)
                result.append((file_path, count_word(file_path, keyword)))
    return result

# 将结果导出到excel文件中
def export_to_excel(result, output_path):
    workbook = xlwt.Workbook(encoding='utf-8')
    worksheet = workbook.add_sheet('Sheet1')
    row = 0
    for file_path, count in result:
        worksheet.write(row, 0, file_path)
        worksheet.write(row, 1, count)
        row += 1
    workbook.save(output_path)

if __name__ == '__main__':
    folder_path = 'path/to/folder'
    keyword = 'some_keyword'
    result = traverse_folder(folder_path, keyword)
    export_to_excel(result, 'output.xls')

代码说明

  1. 导入必要的库:os、re、collections、xlwt
  2. 定义 count_word 函数,输入参数为文件路径和关键词,输出为关键词的词频。函数使用正则表达式 re.findall 查找所有匹配的关键词,并使用 collections.Counter 统计词频。
  3. 定义 traverse_folder 函数,输入参数为文件夹路径和关键词,输出为一个包含所有 txt 文件路径和对应关键词词频的列表。函数使用 os.walk 遍历文件夹,并调用 count_word 函数统计每个文件的词频。
  4. 定义 export_to_excel 函数,输入参数为词频列表和输出路径,将结果导出到 Excel 文件中。函数使用 xlwt 库创建 Excel 工作簿,将词频列表写入工作表,并保存文件。

使用方法

  1. 将代码保存为 Python 文件,例如 count_word.py
  2. 修改代码中的 folder_path、keyword 和 output.xls 为实际的路径和文件名
  3. 运行 Python 文件,例如 python count_word.py

注意事项

  • 确保已安装 xlwt 库,可以使用 pip install xlwt 安装
  • 文件夹路径和输出文件路径必须正确
  • 关键词可以是任意字符串
  • 脚本默认使用 UTF-8 编码打开文件,如果文件使用其他编码,需要修改 count_word 函数中的编码参数

通过以上步骤,你就可以轻松地使用 Python 脚本批量统计文件夹下 txt 文件中的特定关键词词频,并将结果导出到 Excel 表格中。

Python 批量统计文件夹下txt文件关键词词频并导出Excel

原文地址: https://www.cveoy.top/t/topic/mLrc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录