python利用jieba进行英文文档的词频统计
时间: 2023-07-10 14:26:46 浏览: 130
Python中的jieba库主要用于中文分词,不支持英文文本的处理,但是我们可以使用Python的内置库来完成英文文档的词频统计。以下是一个简单的示例代码:
```python
import re
from collections import Counter
# 读取文本文件
with open('english.txt', 'r') as f:
text = f.read()
# 使用正则表达式去除非字母字符
text = re.sub('[^a-zA-Z]', ' ', text)
# 将文本转换为小写字母
text = text.lower()
# 将文本拆分为单词列表
words = text.split()
# 统计单词出现次数
word_counts = Counter(words)
# 输出前10个出现次数最多的单词
for word, count in word_counts.most_common(10):
print(word, count)
```
其中,`english.txt`是需要统计词频的英文文本文件。这段代码使用正则表达式去除了文本中的非字母字符,然后将所有字母转换为小写,最后使用Python的`collections`库中的`Counter`类对单词进行统计。最后输出了出现次数最多的前10个单词及其出现次数。
相关问题
用Python对中文文档进行词频统计的代码
在Python中,我们可以使用`jieba`库来进行中文文本的分词,并结合`collections`库中的`Counter`类进行词频统计。以下是一个简单的示例:
```python
# 首先需要安装jieba库,如果未安装可以使用pip install jieba命令
import jieba
from collections import Counter
def word_frequency(text):
# 使用jieba进行中文分词
words = jieba.lcut(text)
# 使用Counter计算每个词的频率
word_counts = Counter(words)
return word_counts
# 测试示例
text = "这是一段测试的中文文档,用于演示词频统计。"
freqs = word_frequency(text)
# 输出最常出现的前10个词及其频率
for word, freq in freqs.most_common(10):
print(f"{word}: {freq}")
python读取英文docx文档内容统计词频
好的,您可以使用Python中的`docx`模块读取docx文件,然后使用`collections`模块中的`Counter`函数统计词频。以下是一个示例代码:
```python
import docx
from collections import Counter
def count_words(file_path):
doc = docx.Document(file_path)
words = []
for para in doc.paragraphs:
words += para.text.split()
return Counter(words)
file_path = 'example.docx'
word_count = count_words(file_path)
print(word_count)
```
其中,`example.docx`是您要读取的文件路径。上述代码会输出每个单词及其出现次数的字典。您可以根据需求进行处理和输出。
阅读全文