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

问题描述 投票:1回答:1

我不能使用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)

结果输出成功缺少sayadan

但我的问题是如果变量值kalimat来自数据excel与如此多的行数据?

python arrays excel stop-words
1个回答
0
投票

我假设您的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...
© www.soinside.com 2019 - 2024. All rights reserved.