您好,登錄后才能下訂單哦!
用最新版本(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的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。