在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 自动补全(vim)
Nov 30 Python
详解Python的Twisted框架中reactor事件管理器的用法
May 25 Python
基于python中staticmethod和classmethod的区别(详解)
Oct 24 Python
Python实现EXCEL表格的排序功能示例
Jun 25 Python
django的ORM操作 增加和查询
Jul 26 Python
pip 安装库比较慢的解决方法(国内镜像)
Oct 06 Python
如何基于Python实现电子邮件的发送
Dec 16 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
Feb 17 Python
在spyder IPython console中,运行代码加入参数的实例
Apr 20 Python
python中upper是做什么用的
Jul 20 Python
Python try except finally资源回收的实现
Jan 25 Python
Python使用openpyxl模块处理Excel文件
Jun 05 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
重料打造自己的“宝马”---第三代
2021/03/02 无线电
一个oracle+PHP的查询的例子
2006/10/09 PHP
PHP form 表单传参明细研究
2009/07/17 PHP
10款实用的PHP开源工具
2015/10/23 PHP
PHP防止图片盗用(盗链)的方法小结
2016/11/11 PHP
PHP图片裁剪与缩放示例(无损裁剪图片)
2017/02/08 PHP
File文件控件,选中文件(图片,flash,视频)即立即预览显示
2009/04/09 Javascript
javascript修改图片src的方法
2015/01/27 Javascript
BootStrap daterangepicker 双日历控件
2017/06/02 Javascript
jQuery制作全屏宽度固定高度轮播图(实例讲解)
2017/07/08 jQuery
JS按条件 serialize() 对应标签的使用方法
2017/07/24 Javascript
JS+Canvas绘制动态时钟效果
2017/11/10 Javascript
微信小程序实现下载进度条的方法
2017/12/08 Javascript
Nodejs中crypto模块的安全知识讲解
2018/01/03 NodeJs
对angularJs中2种自定义服务的实例讲解
2018/09/30 Javascript
Angular6 发送手机验证码按钮倒计时效果实现方法
2019/01/08 Javascript
vue-cli3环境变量与分环境打包的方法示例
2019/02/18 Javascript
javascript实现日历效果
2019/06/17 Javascript
vue实现一拉到底的滑动验证
2019/07/25 Javascript
[01:32]TI奖金增速竟因它再创新高!DOTA2勇士令状不朽珍藏Ⅰ饰品欣赏
2018/05/18 DOTA
[01:07:19]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第一场
2018/04/06 DOTA
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
Python中表达式x += y和x = x+y 的区别详解
2017/06/20 Python
influx+grafana自定义python采集数据和一些坑的总结
2018/09/17 Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
2019/04/23 Python
为什么说Python可以实现所有的算法
2019/10/04 Python
python绘制无向图度分布曲线示例
2019/11/22 Python
python 通过视频url获取视频的宽高方式
2019/12/10 Python
利用python画出AUC曲线的实例
2020/02/28 Python
使用python matploblib库绘制准确率,损失率折线图
2020/06/16 Python
宝塔面板成功部署Django项目流程(图文)
2020/06/22 Python
爱心活动计划书
2014/04/26 职场文书
初中成绩单评语
2014/12/29 职场文书
悬崖上的金鱼姬观后感
2015/06/15 职场文书
《怀念母亲》教学反思
2016/02/19 职场文书
python中 .npy文件的读写操作实例
2022/04/14 Python