已知一段英文文本(文件内容自定),存放在D:\python下data1.txt中,请编写程序统计data1.txt中出现频率最高的前5个单词,并将结果用文件名data_词频.txt保存在同目录下。从文件中读取数据或输出结果到文件过程中,如发生异常则给出相应提示。
时间: 2023-06-02 12:06:26 浏览: 105
Python库 | dominodatalab-data-0.1.9.dev2.tar.gz
好的,请稍等,我帮您处理一下。以下是程序代码:
```python
import os
import re
from collections import Counter
def count_top_words(file_path, top_n):
"""
统计文本中出现频率最高的前 top_n 个单词,并将结果保存在文件中。
"""
try:
with open(file_path, 'r', encoding='utf-8') as f:
text = f.read().lower()
words = re.findall(r'\w+', text) # 提取单词
word_counts = Counter(words)
top_words = word_counts.most_common(top_n)
# 将结果保存到文件
file_name = os.path.splitext(os.path.basename(file_path))[0] + '_词频.txt'
with open(file_name, 'w', encoding='utf-8') as f2:
for word, count in top_words:
f2.write(f'{word}\t{count}\n')
except Exception as e:
print(f'出现异常:{e}')
if __name__ == '__main__':
file_path = r'D:\python\data1.txt'
top_n = 5
count_top_words(file_path, top_n)
```
程序运行后,您可以在 D:\python 目录下找到一个名为 data_词频.txt 的文件,里面就是出现频率最高的前 5 个单词以及它们的频率。如果程序发生异常,会在控制台上打印出错误信息。如果有其他问题,可以继续向我提问。
阅读全文