在arcgis使用python脚本进行字段计算时是如何解决中文问题的


Posted in Python onOctober 18, 2015

一、引言

在arcgis打开一个图层的属性表,可以对属性表的某个字段进行计算,但是在平常一般都是使用arcgis提供的字段计算器的界面进行傻瓜式的简答的赋值操作,并没有使用到脚本对字段值进行逻辑的操作。由于最近一直在学python脚本,刚好又碰上一好基友需要我的助攻(使用arcgis制图),这就用上了。本以为能够轻松搞定的,没想到搬石头砸脚了,下面就来说我是如何被砸脚的吧。

二、问题描述:将test字段中值为“湖南”的变为“湖南省”。

      这个逻辑是相当的简单,使用python写一个对应的方法为: 

def cal(value):
  if(value=='湖南'):
    return value + '省'
  else:
    return value

      在arcgis中运行python代码如下图:

在arcgis使用python脚本进行字段计算时是如何解决中文问题的

 注意:引用属性字段的值得方法为!test!

点击确定,结果弹出一个错误,没有提示具体是什么错误,最后在查找了一下资料,原来是python使用中文的时候一定要进行转码。

三、解决方案

于是将上面代码中有中文出现的地方对其进行转码就好了。更改后的代码如下:

def cal(value):
  if(value=='湖南'.decode('utf-8')):
    return value + '省'.decode('utf-8')
  else:
    return value

这下就没有错误了,需要更改的就是在字符串”湖南“和‘省”后面添加 decode('utf-8')方法对其进行编码。

这下就解决了在arcgis中python脚本处理中文的问题。

四、小结

在arcgis中使用python脚本,只要碰到中文就需要对其进行decode('utf-8')进行转码。

另外,在arcgis中提供的python脚本编辑器超级难用,所以可以先使用好用的python编辑,将逻辑代码编写好,然后复制进去,然后运行,又快又好。

Python 相关文章推荐
Python中实现远程调用(RPC、RMI)简单例子
Apr 28 Python
Python实现快速多线程ping的方法
Jul 15 Python
Python实现二维有序数组查找的方法
Apr 27 Python
简介Python的collections模块中defaultdict类型的用法
Jul 07 Python
利用python解决mysql视图导入导出依赖的问题
Dec 17 Python
Python中elasticsearch插入和更新数据的实现方法
Apr 01 Python
python基础知识(一)变量与简单数据类型详解
Apr 17 Python
Python向excel中写入数据的方法
May 05 Python
Python使用type关键字创建类步骤详解
Jul 23 Python
通过python检测字符串的字母
Feb 18 Python
Pytest框架之fixture的详细使用教程
Apr 07 Python
Python sublime安装及配置过程详解
Jun 29 Python
详解使用Python处理文件目录的相关方法
Oct 16 #Python
详解在Python程序中自定义异常的方法
Oct 16 #Python
Python编程中的文件操作攻略
Oct 16 #Python
详解Python编程中包的概念与管理
Oct 16 #Python
解读Python编程中的命名空间与作用域
Oct 16 #Python
Python中的模块导入和读取键盘输入的方法
Oct 16 #Python
Python中基本的日期时间处理的学习教程
Oct 16 #Python
You might like
PHP截取指定图片大小的方法
2014/12/10 PHP
JavaScript实现禁止后退的方法
2006/12/27 Javascript
js下获取div中的数据的原理分析
2010/04/07 Javascript
在Iframe中获取父窗口中表单的值(示例代码)
2013/11/22 Javascript
详解js闭包
2014/09/02 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
2016/10/10 Javascript
js事件源window.event.srcElement兼容性写法(详解)
2016/11/25 Javascript
Angular4实现动态添加删除表单输入框功能
2017/08/11 Javascript
Vue.js框架路由使用方法实例详解
2017/08/25 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
2018/02/06 Javascript
Node.js之readline模块的使用详解
2019/03/25 Javascript
NProgress显示顶部进度条效果及使用详解
2019/09/21 Javascript
基于javascript实现贪吃蛇小游戏
2019/11/25 Javascript
JavaScript cookie原理及使用实例
2020/05/08 Javascript
微信小程序实现星星评分效果
2020/11/01 Javascript
[00:31]2016完美“圣”典风云人物:国士无双宣传片
2016/12/04 DOTA
[51:53]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第二场 11.01
2020/11/02 DOTA
Python下singleton模式的实现方法
2014/07/16 Python
Python实现Youku视频批量下载功能
2017/03/14 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
Python测试人员需要掌握的知识
2018/02/08 Python
Python KMeans聚类问题分析
2018/02/23 Python
Pyspider中给爬虫伪造随机请求头的实例
2018/05/07 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
详解向scrapy中的spider传递参数的几种方法(2种)
2020/09/28 Python
html5中如何将图片的绝对路径转换成文件对象
2018/01/11 HTML / CSS
C#如何允许一个类被继承但是避免这个类的方法被重载?
2015/02/24 面试题
某公司部分笔试题
2013/11/05 面试题
校企合作协议书
2014/04/16 职场文书
运动会新闻报道稿
2015/07/22 职场文书
大学毕业生自我鉴定范文
2019/06/21 职场文书
不会写演讲稿,快来看看这篇文章!
2019/08/06 职场文书
浅谈redis五大数据结构和使用场景
2021/04/12 Redis
Python基础知识之变量的详解
2021/04/14 Python
图片批量处理 - 尺寸、格式、水印等
2022/03/07 杂记
Tomcat安装使用及部署Web项目的3种方法汇总
2022/08/14 Servers