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

运行结果为:

猜你喜欢

转载自blog.csdn.net/lucky51222/article/details/106415324
今日推荐