统计文本文件中、word文件中各单词的词频,并输出结果
时间: 2024-05-05 20:23:00 浏览: 62
统计指定的文本文件(英文)中,每个单词的出现频率,输出按字典序排列的单词频度表。
以下是一个 Python 代码示例,可以统计文本文件中各单词的词频,并输出结果:
```python
import re
# 读取文件
with open('input.txt', 'r') as f:
text = f.read()
# 将文本中的所有单词转换为小写,并去除标点符号和换行符
text = re.sub(r'[^\w\s]', '', text.lower())
text = re.sub(r'\n', ' ', text)
# 统计单词词频
word_count = {}
for word in text.split():
if word not in word_count:
word_count[word] = 1
else:
word_count[word] += 1
# 按照词频从高到低排序
sorted_word_count = sorted(word_count.items(), key=lambda x: x[1], reverse=True)
# 输出结果
for word, count in sorted_word_count:
print(word, count)
```
对于 Word 文件,可以使用 Python 的 `docx` 模块来读取文件,并进行类似的处理。以下是一个示例代码:
```python
import re
import docx
# 读取 Word 文件
doc = docx.Document('input.docx')
# 将文本中的所有单词转换为小写,并去除标点符号和换行符
text = ''
for paragraph in doc.paragraphs:
text += paragraph.text
text = re.sub(r'[^\w\s]', '', text.lower())
text = re.sub(r'\n', ' ', text)
# 统计单词词频
word_count = {}
for word in text.split():
if word not in word_count:
word_count[word] = 1
else:
word_count[word] += 1
# 按照词频从高到低排序
sorted_word_count = sorted(word_count.items(), key=lambda x: x[1], reverse=True)
# 输出结果
for word, count in sorted_word_count:
print(word, count)
```
阅读全文