在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编写网页爬虫脚本并实现APScheduler调度
Jul 28 Python
Python3搜索及替换文件中文本的方法
May 22 Python
Python的“二维”字典 (two-dimension dictionary)定义与实现方法
Apr 27 Python
Python批量更改文件名的实现方法
Oct 29 Python
python实现最大子序和(分治+动态规划)
Jul 05 Python
Django中提供的6种缓存方式详解
Aug 05 Python
python集合常见运算案例解析
Oct 17 Python
解决django框架model中外键不落实到数据库问题
May 20 Python
利用Python实现某OA系统的自动定位功能
May 27 Python
python实现企业微信定时发送文本消息的实例代码
Nov 25 Python
利用Matlab绘制各类特殊图形的实例代码
Jul 16 Python
python小型的音频操作库mp3Play
Apr 24 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
phpMyAdmin 链接表的附加功能尚未激活的问题
2010/08/01 PHP
一些不错的js函数ajax
2008/08/20 Javascript
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
2010/06/29 Javascript
javascript截取字符串(通过substring实现并支持中英文混合)
2013/06/24 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
2015/08/27 Javascript
Jquery1.9.1源码分析系列(六)延时对象应用之jQuery.ready
2015/11/24 Javascript
学习javascript面向对象 理解javascript原型和原型链
2016/01/04 Javascript
BootStrap下jQuery自动完成的样式调整
2016/05/30 Javascript
jquery插件autocomplete用法示例
2016/07/01 Javascript
Vue修改mint-ui默认样式的方法
2018/02/03 Javascript
vue 全选与反选的实现方法(无Bug 新手看过来)
2018/02/09 Javascript
JS实现运动缓冲效果的封装函数示例
2018/02/18 Javascript
mpvue中配置vuex并持久化到本地Storage图文教程解析
2018/03/15 Javascript
利用Webpack实现小程序多项目管理的方法
2019/02/25 Javascript
微信小程序实现消息框弹出动画
2020/04/18 Javascript
基于aotu.js实现微信自动添加通讯录中的联系人功能
2020/05/28 Javascript
[01:10:58]KG vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
小结Python用fork来创建子进程注意事项
2014/07/03 Python
Python的Django应用程序解决AJAX跨域访问问题的方法
2016/05/31 Python
基于Python socket的端口扫描程序实例代码
2018/02/09 Python
pandas表连接 索引上的合并方法
2018/06/08 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
2019/07/09 Python
python实现kNN算法识别手写体数字的示例代码
2019/08/16 Python
wxPython实现带颜色的进度条
2019/11/19 Python
详解Django ORM引发的数据库N+1性能问题
2020/10/12 Python
Python创建简单的神经网络实例讲解
2021/01/04 Python
韩国著名的在线综合购物网站:Akmall
2016/08/07 全球购物
在DELPHI中调用存储过程和使用内嵌SQL哪种方式更好
2016/11/22 面试题
行政部主管岗位职责
2013/12/28 职场文书
幼儿教师师德承诺书
2014/05/23 职场文书
音乐教师求职信
2014/06/28 职场文书
党在我心中演讲稿
2014/09/02 职场文书
宣传委员竞选稿
2015/11/19 职场文书
学习新党章心得体会2016
2016/01/15 职场文书
分析SQL窗口函数之排名窗口函数
2022/04/21 Oracle