python - 如何使用 NLTK 从 CSV 文件中删除停用词?
问题描述
尝试从具有 3 列的 csv 文件中删除停用词,并使用已删除的停用词创建一个新的 csv 文件。这是成功的,但是,新文件中的数据显示在顶行而不是原始文件中的列。
import io
import codecs
import csv
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
stop_words = set(stopwords.words('english'))
file1 = codecs.open('soccer.csv','r','utf-8')
line = file1.read()
words = line.split()
for r in words:
if not r in stop_words:
appendFile = open('stopwords_soccer.csv','a', encoding='utf-8')
appendFile.write(" "+r)
appendFile.close()
解决方案
您需要在写完每一行后插入一个换行符。
for r in words:
if not r in stop_words:
appendFile = open('stopwords_soccer.csv','a', encoding='utf-8')
appendFile.write(r)
appendFile.write("\n")
appendFile.close()
这应该可以解决您的问题。
推荐阅读
- javascript - 如何解决离子未捕获错误:找不到模块“。” 添加新页面时?
- powershell - 在powershell中,我需要从字符串中拆分并提取全球网络发布服务“资源全球发布服务不可用
- python - Python将带有空单元格的矩阵样式字符串解析为二维列表
- android - 使用 adb 获取 android 设备的芯片名称?
- javascript - Facebook Instant Game 是否仅支持 getSignedPlayerInfoAsync 与游戏后端通信?
- ibm-cloud - ReferenceError:未定义优惠 - Hyperledger Composer IBM Blockchain
- php - Post 循环在 WordPress 上无法正常工作
- javascript - 为什么我不能直接为数组赋值,而是必须使用 .push()
- vue.js - vue-socket.io 如何连接多个 websocket 服务器
- java - When is ClassLoader checkPackageAccess method called