在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使用pil生成图片验证码的方法
May 08 Python
Python 通配符删除文件的实例
Apr 24 Python
详解Python 协程的详细用法使用和例子
Jun 15 Python
python学生信息管理系统(完整版)
Apr 05 Python
python实现简单聊天室功能 可以私聊
Jul 12 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
Nov 05 Python
Pytorch中Tensor与各种图像格式的相互转化详解
Dec 26 Python
python时间与Unix时间戳相互转换方法详解
Feb 13 Python
pytorch实现保证每次运行使用的随机数都相同
Feb 20 Python
jupyter notebook 的工作空间设置操作
Apr 20 Python
Python爬虫抓取论坛关键字过程解析
Oct 19 Python
python 实现控制鼠标键盘
Nov 27 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 魔术方法使用说明
2009/10/20 PHP
php表单习惯用的正则表达式
2017/10/11 PHP
PHP http请求超时问题解决方案
2020/11/13 PHP
在jQuery中 关于json空对象筛选替换
2013/04/15 Javascript
javascript:window.open弹出窗口的位置问题
2014/03/18 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
2014/09/25 Javascript
jQuery实现默认是闭合的FAQ展开效果菜单
2015/09/14 Javascript
基于JavaScript实现点击页面任何位置返回
2016/08/31 Javascript
Vue.js快速入门教程
2016/09/07 Javascript
JS与HTML结合实现流程进度展示条思路详解
2017/09/03 Javascript
利用vue+elementUI实现部分引入组件的方法详解
2017/11/22 Javascript
深入浅出webpack之externals的使用
2017/12/04 Javascript
微信小程序网络层封装的实现(promise, 登录锁)
2019/05/08 Javascript
Vue监听页面刷新和关闭功能
2019/06/20 Javascript
微信小程序webSocket的使用方法
2020/02/20 Javascript
利用js canvas实现五子棋游戏
2020/10/11 Javascript
通过JS判断网页是否为手机打开
2020/10/28 Javascript
es5 类与es6中class的区别小结
2020/11/09 Javascript
python实现人脸识别代码
2017/11/08 Python
python放大图片和画方格实现算法
2018/03/30 Python
python中使用print输出中文的方法
2018/07/16 Python
python 监听salt job状态,并任务数据推送到redis中的方法
2019/01/14 Python
python实现多层感知器MLP(基于双月数据集)
2019/01/18 Python
Python 窗体(tkinter)按钮 位置实例
2019/06/13 Python
Django单元测试工具test client使用详解
2019/08/02 Python
Django框架model模型对象验证实现方法分析
2019/10/02 Python
python NumPy ndarray二维数组 按照行列求平均实例
2019/11/26 Python
关于pytorch处理类别不平衡的问题
2019/12/31 Python
一些关于python 装饰器的个人理解
2020/08/31 Python
HTML5+CSS3实现无插件拖拽上传图片(支持预览与批量)
2017/01/05 HTML / CSS
在浏览器端如何得到服务器端响应的XML数据
2012/11/24 面试题
早会主持词
2014/03/17 职场文书
元旦联欢会策划方案
2014/06/11 职场文书
爱与责任师德演讲稿
2014/08/26 职场文书
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电
HTML+CSS实现导航条下拉菜单的示例代码
2021/08/02 HTML / CSS