解决pyshp UnicodeDecodeError的问题
用最新版本(2.1.0)的pyshp解析shp文件的records时:
records=sf.records()
如果records里面含有中文字段,那么就会报错:
UnicodeDecodeError:'utf-8'codeccan'tdecodebyte0xccinposition0:invalidcontinuationbyte
这个是编解码的问题,解决方法是把版本降到1.2.12就可以了,虽然records里面的中文字段还需要再次解码,但结果是很清晰的。
没有仔细阅读最新的官方文档,最后有UnicodeandShapefileEncodings说明。
因为最开始我用的是:
sf=shapefile.Reader('data/2009/2009.shp')
最新的版本可以直接设置编码方式,这样就好了:
sf=shapefile.Reader('data/2009/2009.shp',encoding='gbk')
以上这篇解决pyshpUnicodeDecodeError的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。