用python/spyder--';charmap';编解码器编码字符u'\u0142';——独角兽

用python/spyder--';charmap';编解码器编码字符u'\u0142';——独角兽,python,unicode,encoding,utf-8,Python,Unicode,Encoding,Utf 8,我在使用一个程序(Python2.7)时遇到了一些问题,在检查了网站上的其他类似问题后,仍然找不到解决方案。 我还将展示我尝试的解决方案/想法 我不确定这是否重要,但我使用的数据集是Yelp挑战数据集。我不打算向Yelp挑战提交任何作品 首先,我将一个json文件加载到一个数据帧中。然后,执行以下代码,以获取文本(100k评论)、将其小写、加上词干、将加上词干的文本连接回一行/观察,并将其写入文本文件: reviews = df.text.tolist() reviews = [x.lower(

我在使用一个程序(Python2.7)时遇到了一些问题,在检查了网站上的其他类似问题后,仍然找不到解决方案。 我还将展示我尝试的解决方案/想法

我不确定这是否重要,但我使用的数据集是Yelp挑战数据集。我不打算向Yelp挑战提交任何作品

首先,我将一个json文件加载到一个数据帧中。然后,执行以下代码,以获取文本(100k评论)、将其小写、加上词干、将加上词干的文本连接回一行/观察,并将其写入文本文件:

reviews = df.text.tolist()
reviews = [x.lower() for x in reviews]
revsub=reviews[0:100000]

lrev = [[stem(word) for word in re.compile("\W+",re.UNICODE).split(sentence)] for sentence in revsub]
testt = [" ".join(review) for review in lrev]

f2 = open("yelpReviewsParagragh.txt", "w")
f2.write("\n".join(str(x) for x in testt))
f2.close()
这会产生以下错误:

f2 = open("yelpReviewsParagragh.txt", "w")
f2.write("\n".join(str(x) for x in testt))
f2.close()
Traceback (most recent call last):

  File "<ipython-input-55-bf9e5d409f4e>", line 2, in <module>
    f2.write("\n".join(str(x) for x in testt))

  File "<ipython-input-55-bf9e5d409f4e>", line 2, in <genexpr>
    f2.write("\n".join(str(x) for x in testt))

  File "C:\Users\Owner\Anaconda\lib\encodings\cp1252.py", line 12, in encode
    return codecs.charmap_encode(input,errors,encoding_table)

UnicodeEncodeError: 'charmap' codec can't encode character u'\u0142' in position 918: character maps to <undefined>
致: ... def编码(自身、输入、错误='replace'):

或 ... def encode(自我、输入、错误='ignore'):


然而,两者都不起作用。还有什么我可以做的吗?

使用open函数创建文件时,请尝试传递编码

 f2 = open("yelpReviewsParagragh.txt", "w", encoding="utf-8")
 f2 = open("yelpReviewsParagragh.txt", "w", encoding="utf-8")