python charmap编解码器无法解码位置Y字符映射到<undefined>

时间:2017-03-21 05:31:04

标签: python python-3.x unicode nlp python-unicode

我正在尝试使用python库进行数据分析,我面临的问题是这个异常

  

UnicodeDecodeError未被用户代码消息处理:'charmap'编解码器   无法解码165位的字节0x81:字符映射到&lt;未定义&GT;

我已经研究了类似问题的答案,OP似乎要么用不同的编码阅读文本,要么打印它。

在我的代码中,错误出现在import语句中,这让我感到困惑。 enter image description here

我在Visual Studio 2015上使用python 64 bit 3.3 和geotext是显示错误的库。

请指出在哪里寻找处理此错误。

1 个答案:

答案 0 :(得分:12)

以下是我解决此问题的方法(适用于geotext 0.3.0

检查追溯:

  

追踪(最近一次通话):     File&#34; pythonTwitterTest.py&#34;,第5行,in       来自process.processData import *     文件&#34; C:\ OwaisWorkx \ Courses \ 5th Semester \ Project \ pythonTwitterTest \ pythonTwitterTest \ process \ processData.py&#34;,第1行,in       来自geotext导入GeoText#用于分类和分隔城市,国家和州/省     文件&#34; c:\ Python33 \ lib \ site-packages \ geotext__init __。py&#34;,第7行,in       来自.geotext导入GeoText     文件&#34; c:\ Python33 \ lib \ site-packages \ geotext \ geotext.py&#34;,第87行,in       class GeoText(object):     GeoText中的文件&#34; c:\ Python33 \ lib \ site-packages \ geotext \ geotext.py&#34;,第103行       index = build_index()     在build_index中的文件&#34; c:\ Python33 \ lib \ site-packages \ geotext \ geotext.py&#34;,第77行       cities = read_table(get_data_path(&#39; cities15000.txt&#39;),usecols = [1,8])     在read_table中的文件&#34; c:\ Python33 \ lib \ site-packages \ geotext \ geotext.py&#34;,第54行       换行:     文件&#34; c:\ Python33 \ lib \ site-packages \ geotext \ geotext.py&#34;,第51行,in       lines =(如果不是line.startswith(注释),则为f行中的行)     文件&#34; c:\ Python33 \ lib \ encodings \ cp1252.py&#34;,第23行,解码       return codecs.charmap_decode(input,self.errors,decoding_table)[0]   UnicodeDecodeError:&#39; charmap&#39;编解码器不能解码位置165中的字节0x81:字符映射到

这表明错误实际上在geotext.py文件中

如此开放

geotext.py和转到第45行: 从这个改变

with open(filename, 'r') as f

到这个

with open(filename, 'r', encoding='utf-8') as f:

P.S:Solution taken from Python-forum.io