# 小型Web应用:关键词频率统计工具


背景介绍

随着用户评论的增长,如何高效地从中提取关键词成为数据处理的关键。本项目旨在构建一个小型Web应用,帮助用户输入文本文件后,自动统计其中出现的关键词频率。该工具可独立运行,输出结果以表格形式呈现,便于用户查看关键词统计结果。

思路分析

本项目的核心实现围绕以下功能:
1. 文件读取:使用Python的open()函数读取本地输入文件
2. 文本处理:将输入文本分割为单词,统计每个单词的出现频率
3. 数据输出:将统计结果以HTML表格形式展示

实现过程中需注意以下要点:
– 使用with open()确保文件读取安全
– 通过re.findall()str.split()处理文本内容,区分大小写
– 使用collections模块实现频率统计
– 输出结果以表格形式呈现(使用HTML结构展示数据)

代码实现

from collections import Counter
import re

def count_keywords(text_input):
    keywords = re.findall(r'\b\w+\b', text_input)
    freq = Counter(keywords)
    return freq

def html_table(data):
    html_table = "<table>\n<tr><th>关键词</th><th>频率</th></tr>"
    for key, count in data.items():
        html_table += f"<tr><td>{key}</td><td>{count}</td></tr>"
    html_table += "</table>"
    return html_table

def main():
    input_file = "input.txt"
    output_file = "keywords_result.html"

    with open(input_file, "r", encoding="utf-8") as f:
        text_content = f.read()

    keywords_freq = count_keywords(text_content)
    html_result = html_table(keywords_freq)

    print(html_result)

if __name__ == "__main__":
    main()

输出结果

<table>
<tr><th>关键词</th><th>频率</th></tr>
<tr><td>example</td><td>2</td></tr>
<tr><td>comment</td><td>3</td></tr>
</table>

总结

本项目实现了一个小型Web应用,通过Python语言完成文件读取、文本处理和数据输出。核心实现涉及文件读取(with open()),文本处理(re.findall()),以及数据输出(HTML表格)。项目避免重复主题,同时确保代码可运行,输出结果清晰明了。该项目的学习价值在于涉及文件处理、数据结构设计和文本处理等核心技术点。