解決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里面的中文字段還需要再次解碼,但結(jié)果是很清晰的。
沒有仔細(xì)閱讀最新的官方文檔,最后有Unicode and Shapefile Encodings說明。
因?yàn)樽铋_始我用的是:
sf = shapefile.Reader('data/2009/2009.shp')
最新的版本可以直接設(shè)置編碼方式,這樣就好了:
sf = shapefile.Reader('data/2009/2009.shp', encoding='gbk')
以上這篇解決pyshp UnicodeDecodeError的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python3實(shí)現(xiàn)將文件樹中所有文件和子目錄歸檔到tar壓縮文件的方法
這篇文章主要介紹了Python3實(shí)現(xiàn)將文件樹中所有文件和子目錄歸檔到tar壓縮文件的方法,涉及Python3使用tarfile模塊實(shí)現(xiàn)tar壓縮文件的技巧,需要的朋友可以參考下2015-05-05
Python Django Vue 項(xiàng)目創(chuàng)建過程詳解
這篇文章主要介紹了Python Django Vue 項(xiàng)目創(chuàng)建過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-07-07
Tkinter使用Progressbar創(chuàng)建和管理進(jìn)度條的操作代碼
Progressbar是Tkinter庫中的一個小部件,用于創(chuàng)建和管理進(jìn)度條,這篇文章主要介紹了Tkinter使用Progressbar創(chuàng)建和管理進(jìn)度條,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07
PyTorch加載模型model.load_state_dict()問題及解決
這篇文章主要介紹了PyTorch加載模型model.load_state_dict()問題及解決,具有很好的參考價值,希望對大家有所幫助。2023-02-02

