今天讲的是关键时候不卡壳的技能,尤其是循环语句中和数据清洗中,先假设一种情况,领导安排你把,某机构给你们的坐标x和y数据列表中的每个元素的x偏移3个单位,假设你现在已经可以掌握相关的内容了,心里想太easy了,上来就说一顿操作,愉快的敲了如下的代码:

xy_file_list = open('./坐标.csv') new_xy = [(item[0]+3,item[1]) for item in xy_file_list]print("finish!!!")

当你点击了run,愉快的等待屏幕显示 "finish!!!"的时候,没想到屏幕却是一堆xxError,纳尼不应该啊,程序没问题啊,于是你赶紧检查一下坐标.csv里面的内容,你理想的是数据应该是[(1,2),(2,2),(1,4),(1,22),(1,6),(31,2),(4,2)],没想到分析数据后,傻眼了,给的数据是[(1,2),(2,2),(),(1,22),(1,6),(4,2)],上面的程序跑这样的数据,不报错就见鬼了,于是你又开始 加了一堆 判断条件。

xy_file_list = open('./坐标.csv')new_xy = []for item in xy_file_list:if len(item)>0: new_xy.append((item[0]+3,item[1]))

ok,程序暂时没问题了,很不幸领导又拿来了一个坐标数据,这次你学乖了,开始先检查数据了,一看数据是这样的[(1,2),(2,2),(),('1','22'),(1,6),(4,2)],估计心里又开始想怎么写判断条件了。

难道就拿那些xxError,没有办法了吗,只能写一个个if来规避这些,非也非也,办法肯定是有的,只要简单的修改最初的代码如下:

xy_file_list = open('./坐标.csv')new_xy = []for item in xy_file_list:try: new_xy.append((item[0]+3,item[1])) except Exception:continue

保证不会报错了,这个就是非常简单粗暴的处理方式了,是告诉程序遇到任何Error,都continue。

我们就上面那段代码,介绍一下python中如何来处理这些异常 error。首先要需要两个关键字 try 和 except两个字母跟的内容如下:

大部分人比较困惑的应该是如何 写 to do error 的代码吧,通常而已有下面几种:

直接忽视 使用 pass 或者 continue 关键字,不去处理,毕竟不处理也是一种处理;

打印出来发生了什么error, print(e),看看有哪些错误, 需要 上面配合使用 as e;

打印出哪些内容报错,例如上面案例中的print('错误的数据有:',item)

Python的错误

讲了如何处理python中的异常,那么下面说说python中通常会有哪些异常,python中内置的异常如下表,简直太多了,比较幸运的python中的异常是基于类来构建的,所以只要知道基类就可以了,最常用就,你只要知道Exception ,这个就行了,基本上可以帮你应对绝大多数的error了,其他常用的还有AttributeError,KeyError等,也行你想问为什么不用一个Exception ,还有区分那么多,这个是根据要处理的数据来定的,比较只有序列类型的数据才有IndexError这个异常,一堆int 和float数据怎么样也不会出现IndexError的,无论如何,如果理解不了,就都用Exception 。

OK,本小节讲解先到这里,本期的作业,把刚刚提到的例子用自己的代码实践一遍,不用写open,直接让xy_file_list 等于讲到的数据。还是那句话,欢迎截图,截图越多的同学,今后的作业被选中,点评的概率越大。

本系列由解忧数据出品

专注城市和地理数据

三w点jieyoudata点com(www.jieyoudata.com)

找数据,来解忧——它难道不香吗

-一点分享 更多选择-

欢迎加入解忧数据

Jieyou data

http://www.jieyoudata.com

微信号 : 解忧数据

欢迎您的

python3.7怎么使用arcpy_从Python到空间分析Arcpy|1.3.7 神啊!救救我之如何处理报错...相关推荐

  1. python空间分析_读书笔记——《python地理空间分析指南》

    本文为<Python地理空间分析指南(第2版)>的读书摘录,顺便挖个坑,进一步对python的几个包做学习整理. 本笔记的用途:了解python地理空间处理的技术框架和实现途径. 第三章 ...

  2. python地理空间分析指南pdf邓世超_Python地理空间分析指南(第2版)源代码.zip

    [实例简介] Python地理空间分析指南(第2版)的随书源代码,需要的朋友可以下载一下~~ [实例截图] [核心代码] Python地理空间分析指南(第2版)源代码 └── Python地理空间分析 ...

  3. selenium+python,解决selenium弹出新页面,无法定位元素的问题(报错:Unable to locate element:元素)

    selenium+python,解决selenium弹出新页面,无法定位元素的问题(报错:Unable to locate element:元素) 参考文章: (1)selenium+python,解 ...

  4. Python 地理空间分析

    前文 我们将快速浏览 Python 的(空间)数据科学生态系统,并了解如何使用一些基本的开源 Python 包,例如: pandas / geopandas shapely pysal pyproj ...

  5. 《Python地理空间分析指南 第2版》学习笔记-5.1 距离测量

    第5章 Python与地理信息系统 本章主要学习Python处理矢量数据,包含以下内容: 距离测量 坐标转换 矢量数据重投影 Shapefile 文件编辑 海量数据过滤 专题地图创建 非GIS数据类型 ...

  6. 《Python地理空间分析指南(第2版)》——1.9 地理信息系统基本概念

    本节书摘来自异步社区<Python地理空间分析指南(第2版)>一书中的第1章,第1.9节,作者: [美]Joel Lawhead(莱哈德) 更多章节内容可以访问云栖社区"异步社区 ...

  7. pycharm中python调用百度aip所遇问题解决方案记录:pip安装时版本报错以及aip导入时报错no module named aip/requests)

    pycharm中python调用百度aip所遇问题解决方案记录:pip安装时版本报错以及aip导入时报错no module named aip/requests pip安装时版本报错 pip升级后安装 ...

  8. 已解决Python向数据库插入数据的字符串中含有单引号或双引号报错

    已解决Python向数据库插入数据的字符串中含有单引号或双引号报错:(102, b"Incorrect syntax near 'S'.DB-Lib error message 20018, ...

  9. 【笔记】《Python地理空间分析指南(第2版)》

    转载地址:https://blog.csdn.net/jianbinzheng/article/details/80215228 概述部分 地理空间数据 地理空间技术概览 Python地理空间分析工具 ...

最新文章

  1. PaaS下半场,任重且道远
  2. 推荐:介绍一个UndoFramework
  3. Windows2008 组策略应用
  4. Roguelike+RPG如何给玩家刺激的游戏体验? 《我功夫特牛》系统逆推
  5. Spring Boot:开发常用的热部署方式汇总
  6. java 赋值md5_Hook Java API以获得MD5加密前数据
  7. 评分模型和额度模型的两种不同应用场景
  8. 模具计算机辅助设计笔试题,模具CADCAM试卷
  9. “密码人”越来越多将会出现“密码危机”
  10. 自制1寸照片及打印排版
  11. 3dmax 2023安装教程
  12. 【5G核心网】5GC核心网之网元UPF
  13. 天正的计算机快捷命令大全,天正建筑快捷键命令大全 2
  14. 锻炼!!!!最佳时间!!!!希望大家都要记得锻炼身体!!!!
  15. 【安全攻防系列 Windows实战】教你如何 FTP暴力破解、四大病毒勒索病毒、蠕虫病毒、ARP病毒、挖矿病毒,怎么处理应急场景
  16. 记录-学习《体验助力传统行业智能化转型》 AlibabaDesign
  17. 摄像头编码模式定码率CBR和变码率VBR有什么区别
  18. 90后魔术师李孟孟受邀参加中国圈子联合会活动
  19. 组态+数据大屏可视化
  20. RoboMongo简单安装和操作

热门文章

  1. jquery中邮箱地址 URL网站地址正则验证实例代码
  2. HK-2000 数采仪系统说明之 7.HK7710 DTU 简单配置说明
  3. xp计算机关闭139端口,小编搞定xp系统电脑关闭139端口的图文方法
  4. ngix莫名挂掉 signal process started
  5. 数组追加数组,小程序数组里面追加数组如何操作?
  6. Socket实现Android客户端与服务器的通信
  7. YII2 服务器验证码不显示
  8. Android 设置view透明度,广告标题透明背景
  9. 5 微信公众号开发 获取 access_token
  10. 超链接js点击后页面向上滚动问题解决