在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中使用Flask、MongoDB搭建简易图片服务器
Feb 04 Python
使用Python的Treq on Twisted来进行HTTP压力测试
Apr 16 Python
Python 查看文件的读写权限方法
Jan 23 Python
Python 使用类写装饰器的小技巧
Sep 30 Python
python使用pygame模块实现坦克大战游戏
Mar 25 Python
Python Pandas数据结构简单介绍
Jul 03 Python
Django的models模型的具体使用
Jul 15 Python
python opencv如何实现图片绘制
Jan 19 Python
Python爬虫实现模拟点击动态页面
Mar 05 Python
增大python字体的方法步骤
Jul 05 Python
Python中的面向接口编程示例详解
Jan 17 Python
Numpy ndarray 多维数组对象的使用
Feb 10 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
GD输出汉字的函数的分析
2006/10/09 PHP
php empty函数判断mysql表单是否为空
2010/04/12 PHP
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
2013/11/14 PHP
根据中文裁减字符串函数的php代码
2013/12/03 PHP
Yii入门教程之Yii安装及hello world
2014/11/25 PHP
thinkPHP多表查询及分页功能实现方法示例
2017/07/03 PHP
解决Laravel自定义类引入和命名空间的问题
2019/10/15 PHP
document.getElementById的简写方式(获取id对象的简略写法)
2010/09/10 Javascript
Mac OS X 系统下安装和部署Egret引擎开发环境
2014/09/03 Javascript
jQuery中wrapAll()方法用法实例
2015/01/16 Javascript
jQuery获取字符串中出现最多的数
2016/02/22 Javascript
Javascript缓存API
2016/06/14 Javascript
利用jquery实现下拉框的禁用与启用
2016/12/07 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
2017/01/05 Javascript
jQuery设计思想
2017/03/07 Javascript
微信小程序实现下载进度条的方法
2017/12/08 Javascript
浅谈vue父子组件怎么传值
2018/07/21 Javascript
详解在Node.js中发起HTTP请求的5种方法
2019/01/10 Javascript
JS原型prototype和__proto__用法实例分析
2020/03/14 Javascript
前端vue+elementUI如何实现记住密码功能
2020/09/20 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
[01:21]DOTA2 新英雄 森海飞霞
2020/12/18 DOTA
python编写暴力破解FTP密码小工具
2014/11/19 Python
python实现将html表格转换成CSV文件的方法
2015/06/28 Python
python使用paramiko实现远程拷贝文件的方法
2016/04/18 Python
Python中支持向量机SVM的使用方法详解
2017/12/26 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
2018/03/31 Python
python 字符串和整数的转换方法
2018/06/25 Python
Python函数定义及传参方式详解(4种)
2019/03/18 Python
详解Python 定时框架 Apscheduler原理及安装过程
2019/06/14 Python
Python3爬虫中pyspider的安装步骤
2020/07/29 Python
什么是makefile? 如何编写makefile?
2013/01/02 面试题
党员干部公开承诺书
2014/03/26 职场文书
房产公证委托书范本
2014/09/20 职场文书
党员四风问题个人对照检查材料
2014/10/26 职场文书
关于企业的执行力标语大全
2020/01/06 职场文书