编写一个 Python 程序,读取data.txt文件中的文本,对进行分词,统计频率最高的前100个,结果输出到result.csv文件中。
时间: 2024-05-01 09:23:04 浏览: 67
可以使用Python的第三方库jieba实现中文分词,使用collections库中的Counter函数实现词频统计,最后使用pandas库将结果输出到CSV文件中。
代码如下:
```python
import jieba
from collections import Counter
import pandas as pd
# 读取文件内容
with open('data.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 对文本进行分词
words = jieba.cut(text)
# 统计词频
freq = Counter(words)
# 取出前100个高频词
top100 = freq.most_common(100)
# 将结果输出到CSV文件中
df = pd.DataFrame(top100, columns=['word', 'count'])
df.to_csv('result.csv', index=False, encoding='utf-8')
```
其中,使用`jieba.cut()`函数对文本进行分词,返回一个可迭代的生成器对象。然后使用`collections.Counter()`函数对分词结果进行统计,返回一个字典对象,其中键为词汇,值为出现次数。使用`Counter.most_common()`方法可以返回按照频率从高到低排序的元组列表,然后取出前100个高频词。最后使用`pandas.DataFrame()`函数将结果转换为DataFrame对象,使用`DataFrame.to_csv()`方法将结果输出到CSV文件中。
阅读全文