ArcGIS Python中文編碼問題案例詳解

前面的文章《ArcGIS Python獲取Shapefile矢量數據字段名稱》我們已經學會了如何用 Python 獲取中文路徑下的shp數據的所有字段,英文沒有問題,但是如果你輸出中文路徑下的數據字段, 就有可能會碰到中文編碼問題。

Python 文件中如果未指定編碼,在執行過程會出現報錯:

import arcpy

shp = 'C:\data\地級市.shp'
fields = arcpy.ListFields(shp)
for f in fields:
    print f.name

錯誤提示如下:

Python中默認的編碼格式是 ASCII 格式,在沒修改編碼格式時無法正確打印漢字,所以在讀取中文時會報錯。

解決方法爲只要在文件開頭加入 # -*- coding: UTF-8 -*- 或者 # coding=utf-8 就行了

注意:# coding=utf-8 的 = 號兩邊不要空格。

修改後的程序爲:

# coding=utf-8
import arcpy

shp = 'C:\data\地級市.shp'
fields = arcpy.ListFields(shp)
for f in fields:
    print f.name

運行結果爲:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章