python实现统计中文txt文件中单词词频
时间: 2024-03-10 18:44:25 浏览: 240
下面是Python代码实现,可以用于统计中文txt文件中单词的词频:
```python
import jieba
# 读取文本文件
with open('text.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 使用jieba进行分词
words = jieba.cut(text)
# 统计词频
word_freq = {}
for word in words:
if word in word_freq:
word_freq[word] += 1
else:
word_freq[word] = 1
# 输出词频结果
for word, freq in word_freq.items():
print(word, freq)
```
其中,我们使用了jieba库对中文文本进行分词,并且使用字典来统计词频。你只需要将需要统计词频的文本放到和代码同一目录下的text.txt文件中,就可以得到中文单词的词频统计结果了。
相关问题
用python实现txt文件词频统计
好的,以下是用Python实现txt文件词频统计的代码:
```python
import string
# 定义一个函数用来读取txt文件并返回一个字符串
def read_file(filename):
with open(filename, 'r', encoding='utf-8') as f:
text = f.read()
return text
# 定义一个函数用来统计单词出现次数
def count_words(text):
# 将所有单词转换为小写并去除标点符号
text = text.lower().translate(str.maketrans('', '', string.punctuation))
# 将字符串分割成单词列表
words = text.split()
# 统计每个单词出现的次数
word_counts = {}
for word in words:
if word not in word_counts:
word_counts[word] = 1
else:
word_counts[word] += 1
return word_counts
# 调用函数读取文件并统计单词出现次数
text = read_file('example.txt')
word_counts = count_words(text)
# 打印出现次数最高的前10个单词
sorted_word_counts = sorted(word_counts.items(), key=lambda x: x[1], reverse=True)
for i in range(10):
print(sorted_word_counts[i])
```
注意,这里需要先定义两个函数,一个用来读取txt文件并返回一个字符串,另一个用来统计单词出现次数。代码中使用了Python的标准库string来去除标点符号,使用了Python的字典来统计单词出现次数,并使用了sorted函数来按照出现次数从高到低排序单词。
python编程实现英文词频统计:文件words.txt,读取文件中内容,要求统计文件中英文单词的个数,输出单词及出现次数。
好的,可以使用Python的正则表达式和字典来实现英文词频统计。具体代码如下:
```python
import re
# 读取文件内容
with open("words.txt", "r") as f:
content = f.read()
# 使用正则表达式匹配所有英文单词
words = re.findall(r'\b[A-Za-z]+\b', content)
# 统计每个单词出现的次数
word_count = {}
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
# 输出单词及出现次数
for word, count in word_count.items():
print(f"{word}: {count}")
```
其中,`re.findall(r'\b[A-Za-z]+\b', content)` 用来匹配所有由英文字母组成的单词,并将其存储在一个列表中。接着,使用字典来统计每个单词出现的次数,最后输出每个单词及其出现次数。
阅读全文