在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 深入理解yield
Sep 06 Python
讲解Python中的递归函数
Apr 27 Python
python实现将英文单词表示的数字转换成阿拉伯数字的方法
Jul 02 Python
python语言使用技巧分享
May 31 Python
Python基于更相减损术实现求解最大公约数的方法
Apr 04 Python
python全栈知识点总结
Jul 01 Python
python selenium 执行完毕关闭chromedriver进程示例
Nov 15 Python
django Model层常用验证器及自定义验证器详解
Jul 15 Python
python邮件中附加文字、html、图片、附件实现方法
Jan 04 Python
用pip给python安装matplotlib库的详细教程
Feb 24 Python
python实现手机推送 代码也就10行左右
Apr 12 Python
Python使用永中文档转换服务
May 06 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 观察者模式的实现代码
2013/05/10 PHP
php程序员应具有的7种能力小结
2014/11/27 PHP
php+html5实现无刷新图片上传教程
2016/01/22 PHP
Zend Framework教程之Zend_Config_Ini用法分析
2016/03/23 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
2016/04/23 PHP
PHP中for循环与foreach的区别
2017/03/06 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
IE8 引入跨站数据获取功能说明
2008/07/22 Javascript
Javascript获取HTML静态页面参数传递值示例
2013/08/18 Javascript
jquery UI Datepicker时间控件的使用方法(终结版)
2015/11/07 Javascript
JS中的hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()
2016/08/11 Javascript
js当前页面登录注册框,固定div,底层阴影的实例代码
2016/10/04 Javascript
基于JSON数据格式详解
2017/08/31 Javascript
react中的ajax封装实例详解
2017/10/17 Javascript
JavaScript实现的拼图算法分析
2019/02/13 Javascript
node(koa2) web应用模块介绍详解
2019/03/29 Javascript
vue封装swiper代码实例解析
2019/10/08 Javascript
vue实现将一个数组内的相同数据进行合并
2019/11/07 Javascript
详解vue-router 动态路由下子页面多页共活的解决方案
2019/12/22 Javascript
Python 时间处理datetime实例
2008/09/06 Python
使用python检测手机QQ在线状态的脚本代码
2013/02/10 Python
零基础写python爬虫之HTTP异常处理
2014/11/05 Python
介绍Python的Urllib库的一些高级用法
2015/04/30 Python
Python实现数通设备端口使用情况监控实例
2015/07/15 Python
PyQt5实现五子棋游戏(人机对弈)
2020/03/24 Python
Python API len函数操作过程解析
2020/03/05 Python
详解用Python进行时间序列预测的7种方法
2020/03/13 Python
Python 使用SFTP和FTP实现对服务器的文件下载功能
2020/12/17 Python
JD Sports丹麦:英国领先的运动时尚零售商
2020/11/24 全球购物
应届毕业生个人自荐信范文
2013/11/30 职场文书
金融专业毕业生自荐信
2014/06/26 职场文书
知识就是力量演讲稿
2014/09/13 职场文书
教师自我剖析材料(群众路线)
2014/09/29 职场文书
Node-Red实现MySQL数据库连接的方法
2021/08/07 MySQL
Python读取和写入Excel数据
2022/04/20 Python
Python内置类型集合set和frozenset的使用详解
2022/04/26 Python