我正在尝试使用python库进行数据分析,我面临的问题是这个异常
UnicodeDecodeError未被用户代码消息处理:'charmap'编解码器 无法解码165位的字节0x81:字符映射到<未定义>
我已经研究了类似问题的答案,OP似乎要么用不同的编码阅读文本,要么打印它。
在我的代码中,错误出现在import语句中,这让我感到困惑。
我在Visual Studio 2015上使用python 64 bit 3.3 和geotext是显示错误的库。
请指出在哪里寻找处理此错误。
答案 0 :(得分:12)
以下是我解决此问题的方法(适用于geotext 0.3.0)
检查追溯:
追踪(最近一次通话): File" pythonTwitterTest.py",第5行,in 来自process.processData import * 文件" C:\ OwaisWorkx \ Courses \ 5th Semester \ Project \ pythonTwitterTest \ pythonTwitterTest \ process \ processData.py",第1行,in 来自geotext导入GeoText#用于分类和分隔城市,国家和州/省 文件" c:\ Python33 \ lib \ site-packages \ geotext__init __。py",第7行,in 来自.geotext导入GeoText 文件" c:\ Python33 \ lib \ site-packages \ geotext \ geotext.py",第87行,in class GeoText(object): GeoText中的文件" c:\ Python33 \ lib \ site-packages \ geotext \ geotext.py",第103行 index = build_index() 在build_index中的文件" c:\ Python33 \ lib \ site-packages \ geotext \ geotext.py",第77行 cities = read_table(get_data_path(' cities15000.txt'),usecols = [1,8]) 在read_table中的文件" c:\ Python33 \ lib \ site-packages \ geotext \ geotext.py",第54行 换行: 文件" c:\ Python33 \ lib \ site-packages \ geotext \ geotext.py",第51行,in lines =(如果不是line.startswith(注释),则为f行中的行) 文件" c:\ Python33 \ lib \ encodings \ cp1252.py",第23行,解码 return codecs.charmap_decode(input,self.errors,decoding_table)[0] UnicodeDecodeError:' charmap'编解码器不能解码位置165中的字节0x81:字符映射到
这表明错误实际上在geotext.py文件中
如此开放
geotext.py和转到第45行: 从这个改变
with open(filename, 'r') as f
到这个
with open(filename, 'r', encoding='utf-8') as f: