统计指定文本中的蒙古文单词出现次数从高到底排序,并将结果放到文本文件中python
时间: 2024-01-09 14:03:14 浏览: 76
好的,以下是实现该功能的 Python 代码:
```python
import re
from collections import Counter
# 读取文本文件
with open('input.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 提取蒙古文单词
words = re.findall(r'[\u1800-\u18AF]+', text)
# 统计单词出现次数,并按照出现次数从高到低排序
word_counts = Counter(words)
sorted_word_counts = sorted(word_counts.items(), key=lambda x: x[1], reverse=True)
# 将结果保存到文本文件
with open('output.txt', 'w', encoding='utf-8') as f:
for word, count in sorted_word_counts:
f.write(f'{word}: {count}\n')
```
解释一下代码:
首先,我们使用 `with open()` 语句读取文本文件,其中 `r` 表示只读模式,`encoding='utf-8'` 表示使用 UTF-8 编码。
然后,我们使用正则表达式 `[\u1800-\u18AF]+` 提取蒙古文单词。该正则表达式表示匹配 Unicode 编码范围为 1800 到 18AF 的字符,即蒙古文字符,`+` 表示匹配一个或多个字符。我们使用 `re.findall()` 函数提取文本中的蒙古文单词。
接下来,我们使用 `collections.Counter()` 函数统计单词出现次数,并使用 `sorted()` 函数按照出现次数从高到低排序。
最后,我们使用 `with open()` 语句将结果保存到文本文件中,其中 `w` 表示写入模式,`encoding='utf-8'` 表示使用 UTF-8 编码。
请将需要分析的文本文件保存为 `input.txt`,并将以上代码保存为 `count_mongolian_words.py`,然后运行该 Python 脚本,即可在当前目录下生成一个名为 `output.txt` 的文本文件,其中包含了蒙古文单词出现次数从高到低排序的结果。
阅读全文