前面的文章《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
運行結果爲: