UnicodeDecodeError:“ascii”编解码器无法解码字节NLTK

2024-06-26 14:40:15 发布

您现在位置:Python中文网/ 问答频道 /正文

以下代码打印数据:

f = codecs.open('scrapeddata.csv', 'r')
data = f.read()
print data

数据如下:

^{pr2}$

然后,我尝试用以下代码进行简单的词频分析:

from nltk import FreqDist, sent_tokenize, word_tokenize

data = word_tokenize(data)
freq = FreqDist(data)

freq

这将返回:

----> 3 data = word_tokenize(data)
UnicodeDecodeError: 'ascii' codec can't decode byte 0x94 in position 14: ordinal not in range(128)

有什么帮助吗?在


Tags: csv数据代码inreaddataopenword
2条回答

打开文件时提供显式编码。你说是UTF-8,那么告诉Python:

f = codecs.open('scrapeddata.csv', 'r', 'utf-8')
data = f.read()

原始数据通过网络抓取收集。所以我改变了在csv中保存原始数据的方式,并修复了ascii错误。在

data = [' scrapped data here']

w = csv.writer(open('scrapeddata.csv', 'wb'))

for sentence in data:
    w.writerow([sentence.encode('ascii','ignore')]) 

相关问题 更多 >