统计指定文件中的蒙古文单词次数并从高到低排序
时间: 2024-03-01 09:49:40 浏览: 62
好的,这个问题可以通过编写一个 Python 脚本来实现。你可以按照以下步骤操作:
1. 安装 `pymongo` 和 `pymongonetwork` 库,用于连接数据库和操作数据;
2. 使用 `pymongo` 连接 MongoDB 数据库,选择指定的集合;
3. 读取指定的文件,将其中的蒙古文单词提取出来,并统计出现次数,将统计结果存储到一个字典中;
4. 将字典按照值从高到低排序,并输出结果。
以下是代码示例:
```python
import pymongo
import re
from collections import defaultdict
# 连接数据库
client = pymongo.MongoClient("mongodb://localhost:27017/")
db = client["mydatabase"]
collection = db["mycollection"]
# 读取文件中的蒙古文单词
word_counts = defaultdict(int)
with open("filename.txt", "r", encoding="utf-8") as f:
for line in f:
words = re.findall(r"[ᠠ-ᡯ]+", line) # 正则表达式匹配蒙古文单词
for word in words:
word_counts[word] += 1
# 将结果存储到数据库中
for word, count in word_counts.items():
collection.insert_one({"word": word, "count": count})
# 将结果按照出现次数从高到低排序并输出
result = collection.find().sort("count", pymongo.DESCENDING)
for doc in result:
print(doc["word"], doc["count"])
```
需要注意的是,在统计蒙古文单词时,我使用了正则表达式 `[ᠠ-ᡯ]+` 来匹配蒙古文字符。这个正则表达式可以匹配所有的蒙古文字符,包括字母、数字和标点符号。如果你的文件中包含其他语言的字符,需要根据实际情况调整正则表达式。
阅读全文