首页 > 解决方案 > 如果来自文件 excel 或 csv 的数据,如何使用停用词 sastrawi 库 python

问题描述

我不能使用文件 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 怎么办?

标签: pythonarraysexcelstop-words

解决方案


我假设您的 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...

推荐阅读