可以使用Python的nltk库和自定义停用词表来去除中文停用词,它会遍历指定目录下的所有文件,将文件中的中文停用词去除并写入新文件:
时间: 2024-05-05 12:22:41 浏览: 194
好的,以下是代码实现:
```python
import os
import jieba
import codecs
from nltk.corpus import stopwords
# 自定义停用词表
stopwords_path = 'stopwords.txt'
# 加载停用词表
stopwords = set(stopwords.words('chinese'))
# 遍历指定目录下所有文件
def traverse_files(path):
for root, dirs, files in os.walk(path):
for file in files:
file_path = os.path.join(root, file)
with codecs.open(file_path, 'r', 'utf-8') as f:
content = f.read()
# 分词
words = jieba.cut(content)
# 去除停用词
words = [word for word in words if word not in stopwords]
# 写入新文件
with codecs.open(file_path + '_new', 'w', 'utf-8') as f1:
f1.write(' '.join(words))
if __name__ == '__main__':
traverse_files('data') # 指定目录
```
其中,`stopwords.txt` 是自定义的停用词表,可以根据需要进行修改。代码中使用了 `jieba` 分词库和 `nltk` 停用词库,遍历指定目录下的所有文件,将其中的中文停用词去除并写入新文件。
阅读全文