在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编写网页爬虫脚本并实现APScheduler调度
Jul 28 Python
Python设计模式中单例模式的实现及在Tornado中的应用
Mar 02 Python
Pycharm学习教程(5) Python快捷键相关设置
May 03 Python
CentOS中升级Python版本的方法详解
Jul 10 Python
python虚拟环境virtualenv的使用教程
Oct 20 Python
python初学之用户登录的实现过程(实例讲解)
Dec 23 Python
Python实现的IP端口扫描工具类示例
Feb 15 Python
python读csv文件时指定行为表头或无表头的方法
Jun 26 Python
Pytorch修改ResNet模型全连接层进行直接训练实例
Sep 10 Python
基于Python共轭梯度法与最速下降法之间的对比
Apr 02 Python
在python里创建一个任务(Task)实例
Apr 25 Python
Python pathlib模块使用方法及实例解析
Oct 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
浅析get与post的一些特殊情况
2014/07/28 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
2016/05/13 PHP
用js解决数字不能换行问题
2010/08/10 Javascript
详解JavaScript函数绑定
2013/08/18 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
解决json日期格式问题的3种方法
2014/02/02 Javascript
jQuery焦点图切换简易插件制作过程全纪录
2014/08/27 Javascript
JS中的数组方法笔记整理
2016/07/26 Javascript
JavaScrpt的面向对象全面解析
2017/05/09 Javascript
详解Node.js开发中的express-session
2017/05/19 Javascript
Node.js log4js日志管理详解
2018/07/31 Javascript
React如何实现浏览器打印部分内容详析
2019/05/19 Javascript
Layui实现数据表格默认全部显示(不要分页)
2019/10/26 Javascript
vue+render+jsx实现可编辑动态多级表头table的实例代码
2020/04/01 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
[44:40]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
使用Python实现一个简单的项目监控
2015/03/31 Python
python实现给数组按片赋值的方法
2015/07/28 Python
Python使用正则表达式获取网页中所需要的信息
2018/01/29 Python
Win8下python3.5.1安装教程
2020/07/29 Python
浅析python的Lambda表达式
2019/02/27 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
2019/08/22 Python
flask项目集成swagger的方法
2020/12/09 Python
英国第一独立滑雪板商店:The Snowboard Asylum
2020/01/16 全球购物
LINUX下线程,GDI类的解释
2016/12/14 面试题
软件测试题目
2013/02/27 面试题
前台接待岗位职责
2013/12/03 职场文书
单位消防安全制度
2014/01/12 职场文书
关于圣诞节的广播稿
2014/01/26 职场文书
小学生元旦感言
2014/02/26 职场文书
财务部总监岗位职责
2014/03/12 职场文书
导航工程专业自荐信
2014/09/02 职场文书
开展党的群众路线教育实践活动工作总结
2014/11/05 职场文书
医护人员继续教育学习心得体会
2016/01/19 职场文书
2019最新版劳务派遣管理制度
2019/08/16 职场文书