在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中的装饰器、闭包和functools的教程
Apr 02 Python
Python 中urls.py:URL dispatcher(路由配置文件)详解
Mar 24 Python
python实现画圆功能
Jan 25 Python
20个常用Python运维库和模块
Feb 12 Python
tensorflow获取变量维度信息
Mar 10 Python
Python入门Anaconda和Pycharm的安装和配置详解
Jul 16 Python
Python 内置变量和函数的查看及说明介绍
Dec 25 Python
python词云库wordCloud使用方法详解(解决中文乱码)
Feb 17 Python
Python Flask上下文管理机制实例解析
Mar 16 Python
如何在Win10系统使用Python3连接Hive
Oct 15 Python
浅析Python打包时包含静态文件处理方法
Jan 15 Python
python实现三次密码验证的示例
Apr 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在网页中动态生成PDF文件详细教程
2014/07/05 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
Prototype String对象 学习
2009/07/19 Javascript
分享20多个很棒的jQuery 文件上传插件或教程
2011/09/04 Javascript
JS实现拖动示例代码
2013/11/01 Javascript
nodejs URL模块操作URL相关方法介绍
2015/03/03 NodeJs
js 实现数值的千分位及保存小数方法(推荐)
2016/08/01 Javascript
vue实现可增删查改的成绩单
2016/10/27 Javascript
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
2017/03/24 jQuery
Mongoose经常返回e11000 error的原因分析
2017/03/29 Javascript
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
2017/12/24 jQuery
详解微信UnionID作用
2019/05/15 Javascript
微信小程序swiper禁止用户手动滑动代码实例
2019/08/23 Javascript
JS中==、===你分清楚了吗
2020/03/04 Javascript
nuxt.js写项目时增加错误提示页面操作
2020/11/05 Javascript
Python实现计算文件夹下.h和.cpp文件的总行数
2015/04/23 Python
Python多层装饰器用法实例分析
2018/02/09 Python
从DataFrame中提取出Series或DataFrame对象的方法
2018/11/10 Python
wxpython绘制圆角窗体
2019/11/18 Python
使用PyOpenGL绘制三维坐标系实例
2019/12/24 Python
浅谈keras的深度模型训练过程及结果记录方式
2020/01/24 Python
localstorage和sessionstorage使用记录(推荐)
2017/05/23 HTML / CSS
美国高档帽子网上商店:Hats.com
2018/08/09 全球购物
澳洲Chemist Direct药房中文网:澳洲大型线上直邮药房
2019/11/04 全球购物
线程问题:wait()方法是定义在哪个类里面
2015/07/07 面试题
资深地理教师自我评价
2013/09/21 职场文书
高职助产应届生自荐信
2013/09/24 职场文书
计算机个人求职信范例
2014/01/24 职场文书
政治学求职信
2014/06/03 职场文书
民主生活会对照检查材料
2014/09/22 职场文书
幼儿园见习报告范文
2014/10/30 职场文书
社区植树节活动总结
2015/02/06 职场文书
2015年采购部工作总结
2015/04/23 职场文书
在js中修改html body的样式
2021/11/11 Javascript
MySQL transaction事务安全示例讲解
2022/06/21 MySQL
使用CSS实现音波加载效果
2023/05/07 HTML / CSS