在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 相关文章推荐
pyqt4教程之widget使用示例分享
Mar 07 Python
使用Python发送各种形式的邮件的方法汇总
Nov 09 Python
详解Swift中属性的声明与作用
Jun 30 Python
详解python上传文件和字符到PHP服务器
Nov 24 Python
pytorch cnn 识别手写的字实现自建图片数据
May 20 Python
Python 十六进制整数与ASCii编码字符串相互转换方法
Jul 09 Python
python实现桌面气泡提示功能
Jul 29 Python
django 做 migrate 时 表已存在的处理方法
Aug 31 Python
通过python实现windows桌面截图代码实例
Jan 17 Python
Python利用逻辑回归分类实现模板
Feb 15 Python
Django ValuesQuerySet转json方式
Mar 16 Python
pandas 实现将NaN转换为None
May 14 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
ThinkPHP模板自定义标签使用方法
2014/06/26 PHP
推荐几个开源的微信开发项目
2014/12/28 PHP
分享下php5类中三种数据类型的区别
2015/01/26 PHP
php实现向javascript传递数组的方法
2015/07/27 PHP
微信 getAccessToken方法详解及实例
2016/11/23 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
List Installed Hot Fixes
2007/06/12 Javascript
js加解密 脚本解密
2008/02/22 Javascript
基于Jquery实现的一个图片滚动切换
2012/06/21 Javascript
Js日期选择器并自动加入到输入框中示例代码
2013/08/02 Javascript
判断文档离浏览器顶部的距离的方法
2014/01/08 Javascript
调用innerHTML之后onclick失效问题的解决方法
2014/01/28 Javascript
document.write的几点使用心得
2014/05/14 Javascript
控制台报错object is not a function的解决方法
2014/08/24 Javascript
优化Node.js Web应用运行速度的10个技巧
2014/09/03 Javascript
jQuery入门基础知识学习指南
2015/08/14 Javascript
RequireJs的使用详解
2017/02/19 Javascript
微信小程序图片宽100%显示并且不变形
2017/06/21 Javascript
详解puppeteer使用代理
2018/12/27 Javascript
vue中使用props传值的方法
2019/05/08 Javascript
解决vue-photo-preview 异步图片放大失效的问题
2020/07/29 Javascript
Python实现将不规范的英文名字首字母大写
2016/11/15 Python
tensorflow: variable的值与variable.read_value()的值区别详解
2018/07/30 Python
python虚拟环境迁移方法
2019/01/03 Python
python实现名片管理器的示例代码
2019/12/17 Python
python上传时包含boundary时的解决方法
2020/04/08 Python
婴儿鞋,独特的婴儿服装和配件:Zutano
2018/11/03 全球购物
linux面试相关问题
2012/08/11 面试题
大学生会计职业生涯规划范文
2014/02/28 职场文书
体育系毕业生求职自荐信
2014/04/16 职场文书
个人合作协议书范本
2014/04/18 职场文书
英语求职信范文
2014/05/23 职场文书
2014年安全生产责任书
2014/07/22 职场文书
农村党员对照检查材料
2014/09/24 职场文书
爱国主义教育主题班会
2015/08/13 职场文书
Java实现超大Excel文件解析(XSSF,SXSSF,easyExcel)
2022/07/15 Java/Android