UnicodeDecodeError:'charmap'编解码器无法解码位置Y的字节Z:字符映射到<undefined>

时间:2017-12-18 17:05:17

标签: python csv character-encoding

我正在尝试使用大型训练数据集执行情绪分析。问题是,当我使用'sampleTweets.csv'执行分析时,一切都没问题,因为分析不准确,因为sampleTweets数据集太小。

当我使用更大的数据集,例如'full_training_dataset.csv'时,我收到以下错误

  

return codecs.charmap_decode(input,self.errors,decoding_table)[0]   UnicodeDecodeError:'charmap'编解码器无法解码位置6961中的字节0x9d:字符映射到

我尝试添加encoding =“utf-8”和其他编码,例如latin-1但是当我这样做时,程序会继续运行而不会在控制台中产生任何结果。

以下是代码,这是项目的github链接:https://github.com/ravikiranj/twitter-sentiment-analyzer,我正在使用simpleDemo.py文件。

#Read the tweets one by one and process it
inpTweets = csv.reader(open('data/full_training_dataset.csv', 'r'), delimiter=',', quotechar='|')
stopWords = getStopWordList('data/feature_list/stopwords.txt')
count = 0
featureList = []
tweets = []
for row in inpTweets:
    sentiment = row[0]
    tweet = row[1]
    processedTweet = processTweet(tweet)
    featureVector = getFeatureVector(processedTweet, stopWords)
    featureList.extend(featureVector)
    tweets.append((featureVector, sentiment))

1 个答案:

答案 0 :(得分:0)

我知道这是一篇旧文章,但这对我有用。

  1. 转到python安装:

    示例:C:\Python\Python37-32\Lib\site-packages\stopwordsiso

  2. 打开__init__.py

  3. 更改with open(STOPWORDS_FILE) as json_data:

    with open(STOPWORDS_FILE, encoding="utf8") as json_data: