在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 相关文章推荐
wxPython定时器wx.Timer简单应用实例
Jun 03 Python
python 网络编程常用代码段
Aug 28 Python
python万年历实现代码 含运行结果
May 20 Python
Python读取mat文件,并转为csv文件的实例
Jul 04 Python
Python实现的大数据分析操作系统日志功能示例
Feb 11 Python
Python批量查询关键词微信指数实例方法
Jun 27 Python
应用OpenCV和Python进行SIFT算法的实现详解
Aug 21 Python
对python中return与yield的区别详解
Mar 12 Python
keras处理欠拟合和过拟合的实例讲解
May 25 Python
Python select及selectors模块概念用法详解
Jun 22 Python
Python实现socket库网络通信套接字
Jun 04 Python
如何在Python中妥善使用进度条详解
Apr 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
全国FM电台频率大全 - 19 广东省
2020/03/11 无线电
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
dedecms中使用php语句指南
2014/11/13 PHP
PHP之header函数详解
2021/03/02 PHP
javascript编程起步(第一课)
2007/01/10 Javascript
javascript优先加载笔记代码
2008/09/30 Javascript
20款超赞的jQuery插件 Web开发人员必备
2011/02/26 Javascript
javascript权威指南 学习笔记之javascript数据类型
2011/09/24 Javascript
JavaScript 更严格的相等 [译]
2012/09/20 Javascript
javascript通过class来获取元素实现代码
2013/02/20 Javascript
jquery 单引号和双引号的区别及使用注意
2013/07/31 Javascript
Jquery焦点图实例代码
2014/11/25 Javascript
jquery.cookie.js使用指南
2015/01/05 Javascript
JQuery中上下文选择器实现方法
2015/05/18 Javascript
jquery封装插件时匿名函数形参和实参的写法解释
2017/02/14 Javascript
Javascript中click与blur事件的顺序详析
2017/04/25 Javascript
JS如何设置元素样式的方法示例
2017/08/28 Javascript
移动端滑动切换组件封装 vue-swiper-router实例详解
2018/11/25 Javascript
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
2019/02/27 jQuery
JavaScript生成一个不重复的ID的方法示例
2019/09/16 Javascript
node后端服务保活的实现
2019/11/10 Javascript
JS校验与最终登陆界面功能完整示例
2020/01/13 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
2020/05/09 Javascript
Vue之封装公用变量以及实现方式
2020/07/31 Javascript
windows10系统中安装python3.x+scrapy教程
2016/11/08 Python
python虚拟环境的安装配置图文教程
2017/10/20 Python
Python多线程爬虫实战_爬取糗事百科段子的实例
2017/12/15 Python
Python爬虫PyQuery库基本用法入门教程
2018/08/04 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
2019/05/13 Python
全球最受追捧的运动服品牌领先数字目的地:Stylerunner
2020/11/25 全球购物
安全负责人任命书
2014/06/06 职场文书
2014优秀大学生简历自我评价
2014/09/15 职场文书
检察院院长群众路线教育实践活动个人整改措施
2014/10/04 职场文书
预备党员群众路线思想汇报2014
2014/10/25 职场文书
linux下导入、导出mysql数据库命令的实现方法
2021/05/26 MySQL
Nginx 匹配方式
2022/05/15 Servers