首页 > 解决方案 > 如何使用 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()

标签: pythoncsvnltktokenizedata-cleaning

解决方案


您需要在写完每一行后插入一个换行符。

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()

这应该可以解决您的问题。


推荐阅读