在arcgis的字段计算器中,编写python代码块对一个有中文的属性字段进行if else判断时,报错:
unicode decode error: ‘ascii’ codesc can’t decode Oxe5 in position
百度说了是:arcmap字段计算器读取的值的编码类型是ascii,而我要判断的值是中文的,使用就报错了。
解决办法就是要判断的中文的值转为utf-8格式的编码:
b = a.encode('utf-8')
然后拿转完之后的值去做判断,判断代码如下:
def Myfunction(a):
b = a.encode('utf-8')
if (b == "林地"):
return "其他林地"
if (b == "草地"):
return "其他草地"
.....
elif:
return "空"