网络编程
位置:首页>> 网络编程>> Python编程>> 解决pyshp UnicodeDecodeError的问题

解决pyshp UnicodeDecodeError的问题

作者:ShawDa  发布时间:2021-08-01 10:17:39 

标签:pyshp,Unicode,Decode,Error

用最新版本(2.1.0)的pyshp解析shp文件的records时:


records = sf.records()

如果records里面含有中文字段,那么就会报错:


UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcc in position 0: invalid continuation byte

这个是编解码的问题,解决方法是把版本降到1.2.12就可以了,虽然records里面的中文字段还需要再次解码,但结果是很清晰的。

没有仔细阅读最新的官方文档,最后有Unicode and Shapefile Encodings说明。

因为最开始我用的是:


sf = shapefile.Reader('data/2009/2009.shp')

最新的版本可以直接设置编码方式,这样就好了:


sf = shapefile.Reader('data/2009/2009.shp', encoding='gbk')

来源:https://blog.csdn.net/sinat_36811967/article/details/88814378

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com