如果数据来自文件 excel 或 csv,如何使用停用词 sastrawi 库 python

how to use stopword sastrawi library python if data from file excel or csv

我无法使用文件 excel 中的数据在函数停用词中实现

我试过这样

数据可以用hadist列显示

train['hadis'] = train['hadis'].apply(lambda x: " ".join(x.stopword.remove() for x in x.split()))
train['hadis'].head()

但错误结果

from Sastrawi.StopWordRemover.StopWordRemoverFactory import     
StopWordRemoverFactory
factory = StopWordRemoverFactory()
stopword = factory.create_stop_word_remover()

kalimat = 'Dengan Menggunakan Python dan Library Sastrawi saya dapat 
melakukan proses Stopword Removal'
stop = stopword.remove(kalimat)
print(stop)

结果输出成功,缺少saya & dan

但我的问题是,如果变量值 kalimat 来自具有这么多行数据的数据 excel 怎么办?

我假设您的 excel 文件采用 csv 格式,名为 kalimat.csv,并且 kalimat 是包含您要分析的句子的列。

kalimat.csv:

no |                                           kalimat
------------------------------------------------------
 1 | saya semua perbuatan tergantung niatnya dan ba...
 2 | terkadang datang kepadaku seperti suara gemeri...
 3 | bacalah beliau menjawab aku tidak bisa baca na...
 4 | Dengan Menggunakan Python dan Library Sastrawi...

试试这个代码:

from Sastrawi.StopWordRemover.StopWordRemoverFactory import StopWordRemoverFactory
import pandas as pd

factory = StopWordRemoverFactory()
stopword = factory.create_stop_word_remover()

df = pd.read_csv("kalimat.csv")
for i, kalimat in enumerate (df['kalimat']):
    stop = stopword.remove(kalimat)
    print(i,stop + '\n')

输出:

0 semua perbuatan tergantung niatnya ba... 
1 terkadang datang kepadaku suara gemeri... 
2 bacalah beliau menjawab aku bisa baca na... 
3 Dengan Menggunakan Python Library Sastrawi...