Python读写csv文件流程及异常解决


Posted in Python onOctober 20, 2020

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列.

特点

  • 读取出的数据一般为字符类型,如果是数字需要人为转换为数字
  • 以行为单位读取数据
  • 列之间以半角逗号或制表符为分隔,一般为半角逗号
  • 一般为每行开头不空格,第一行是属性列,数据列之间以间隔符为间隔无空格,行之间无空行。

行之间无空行十分重要,如果有空行或者数据集中行末有空格,读取数据时一般会出错,引发[list index out of range]错误。PS:已经被这个错误坑过很多次!

使用python I/O写入和读取CSV文件

使用PythonI/O写入csv文件

Python读写csv文件流程及异常解决

Python读写csv文件流程及异常解决

常见错误list index out of range

其中我们重点需要讲的是 with open(birth_weight_file, "w", newline='') as f: 这个语句。表示写入csv文件,如果不加上参数 newline='' 表示以空格作为换行符,而是用 with open(birth_weight_file, "w") as f: 语句。则生成的表格中会出现空行。

Python读写csv文件流程及异常解决

不仅仅是用python I/O进行csv数据的读写时,利用其余方法读写csv数据,或者从网上下载好csv数据集后都需要查看其每行后有没有空格,或者有没有多余的空行。避免不必要的错误~影响数据分析时的判断。

使用PythonI/O读取csv文件

使用python I/O方法进行读取时即是新建一个List 列表然后按照先行后列的顺序(类似C语言中的二维数组)将数据存进空的List对象中,如果需要将其转化为numpy 数组也可以使用np.array(List name)进行对象之间的转化。

Python读写csv文件流程及异常解决

使用Pandas读取CSV文件

Python读写csv文件流程及异常解决

使用Tensorflow读取CSV文件

本人在平时一般都是使用Tensorflow处理各类数据,所以对于使用Tensorflow读取数据在此不过多的进行解释。

Python读写csv文件流程及异常解决

还有其他使用python读取文件的各种方法,这里介绍三种,不定期进行补充。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
win7安装python生成随机数代码分享
Dec 27 Python
使用Python编写vim插件的简单示例
Apr 17 Python
Python中字典映射类型的学习教程
Aug 20 Python
Django查询数据库的性能优化示例代码
Sep 24 Python
Python安装lz4-0.10.1遇到的坑
May 20 Python
Python使用itertools模块实现排列组合功能示例
Jul 02 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
Jul 11 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
Aug 28 Python
使用Python为中秋节绘制一块美味的月饼
Sep 11 Python
python函数定义和调用过程详解
Feb 09 Python
基于python求两个列表的并集.交集.差集
Feb 10 Python
Python手动或自动协程操作方法解析
Jun 22 Python
Python脚本打包成可执行文件过程解析
Oct 20 #Python
PyQt5的QWebEngineView使用示例
Oct 20 #Python
Python测试框架:pytest学习笔记
Oct 20 #Python
如何快速一次性卸载所有python包(第三方库)呢
Oct 20 #Python
Python模块常用四种安装方式
Oct 20 #Python
关于PyCharm安装后修改路径名称使其可重新打开的问题
Oct 20 #Python
编写python代码实现简单抽奖器
Oct 20 #Python
You might like
php5 mysql分页实例代码
2008/04/10 PHP
Laravel中的chunk组块结果集处理与注意问题
2018/08/15 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
2021/03/09 PHP
?牟┛途W扣了一??效果出?? target=
2007/05/27 Javascript
js 分栏效果实现代码
2009/08/29 Javascript
jquery实现ajax提交form表单的方法总结
2014/03/03 Javascript
jQuery操作表格(table)的常用方法、技巧汇总
2014/04/12 Javascript
javascript实现左右控制无缝滚动
2014/12/31 Javascript
[原创]Javascript 实现广告后加载 可加载百度谷歌联盟广告
2016/05/11 Javascript
JS实现兼容火狐及IE iframe onload属性的遮罩层隐藏及显示效果
2016/08/23 Javascript
Vue.js如何优雅的进行form validation
2017/04/07 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
微信小程序 弹窗输入组件的实现解析
2019/08/12 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
2019/11/29 Javascript
vue跳转方式(打开新页面)及传参操作示例
2020/01/26 Javascript
基于VSCode调试网页JavaScript代码过程详解
2020/07/20 Javascript
浅谈vue-props的default写不写有什么区别
2020/08/09 Javascript
在vue项目中引用Antv G2,以饼图为例讲解
2020/10/28 Javascript
详解Python中列表和元祖的使用方法
2015/04/25 Python
Python中字符串对齐方法介绍
2015/05/21 Python
pandas object格式转float64格式的方法
2018/04/10 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
2018/12/04 Python
基于django传递数据到后端的例子
2019/08/16 Python
通过python实现windows桌面截图代码实例
2020/01/17 Python
Python while循环使用else语句代码实例
2020/02/07 Python
在django admin中配置搜索域是一个外键时的处理方法
2020/05/20 Python
Brydge英国:适用于Apple iPad和Microsoft Surface Pro的蓝牙键盘
2019/05/16 全球购物
会议开场欢迎词
2014/01/15 职场文书
12岁生日感言
2014/01/21 职场文书
地理信息科学专业推荐信
2014/09/08 职场文书
优秀员工自荐书
2015/03/06 职场文书
2015年七一建党节慰问信
2015/03/23 职场文书
预备党员群众意见
2015/06/01 职场文书
浅析NIO系列之TCP
2021/06/15 Java/Android
使用CSS设置滚动条样式
2022/01/18 HTML / CSS