当前位置: 首页 > 编程笔记 >

解决pyshp UnicodeDecodeError的问题

乐正秦斩
2023-03-14
本文向大家介绍解决pyshp UnicodeDecodeError的问题,包括了解决pyshp UnicodeDecodeError的问题的使用技巧和注意事项,需要的朋友参考一下

用最新版本(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')

以上这篇解决pyshp UnicodeDecodeError的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 我们已经探索了 Python 语言中的许多部分,现在我们将通过设计并编写一款程序来了解如何把这些部分组合到一起。这些程序一定是能做到一些有用的事情。这其中的方法就是去学习如何靠你自己来编写一份 Python 脚本。 问题 我们希望解决的问题如下: 我想要一款程序来备份我所有的重要文件。 虽然这是一个简单的问题,但是其中并没有足够的信息有助于让我们开始规划一份解决方案。我们需要进行一些分析(Anal

  • 主要内容:1.业务,2.策略模式,3.Map+函数式接口,4.总结1.业务 根据业务去写代码 1.if-else 2.switch 由于 整个 if-else的代码有很多行,也不方便修改,可维护性低。 个方法的代码可就太长了,影响了可读性。 2.策略模式 策略模式是把 if语句里面的逻辑抽出来写成一个类,如果要修改某个逻辑的话,仅修改一个具体的实现类的逻辑即可,可维护性会好不少。 以下是策略模式的具体结构 不过策略模式业务代码还是if-else,不过维护好一点了

  • 我对决议有意见。我开发了Java Swing应用程序(桌面应用程序),它运行良好,但当我开始在不同的笔记本或桌面系统中使用该应用程序时,问题就来了,因为每个系统都有自己的分辨率,因此JFrame上的组件越来越小,最大的问题来了,当我开始在4K分辨率系统中使用该应用程序时,您看不到任何东西,因为JFrame上的所有东西都变得太小,您将无法读取任何东西。我们对此有什么解决办法吗?

  • 我们已经探索过了Python语言的各种部分,现在我们通过设计和编写一个做有用事情的程序,看一看如何将所有这些组合在一起,学习如何自己编写一个Python脚本可以实现这个想法。 问题 我们想要解决的问题是: 我需要一个为我所有重要的程序创建备份的一个程序。 尽管这是一个简单的问题,但是我们没有着手解决这个问题的足够的信息。多一点的分析是必需的,例如,我们如何指定哪一个文件需要备份?他们是怎样存储的?

  • 问题解决了在这种环境下

  • 本文向大家介绍注解@CrossOrigin解决跨域的问题,包括了注解@CrossOrigin解决跨域的问题的使用技巧和注意事项,需要的朋友参考一下 注解@CrossOrigin 出于安全原因,浏览器禁止Ajax调用驻留在当前原点之外的资源。例如,当你在一个标签中检查你的银行账户时,你可以在另一个选项卡上拥有EVILL网站。来自EVILL的脚本不能够对你的银行API做出Ajax请求(从你的帐户中取出