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 相关文章推荐
Python中scatter函数参数及用法详解
Nov 08 Python
用TensorFlow实现戴明回归算法的示例
May 02 Python
python 爬虫 批量获取代理ip的实例代码
May 22 Python
Django添加favicon.ico图标的示例代码
Aug 07 Python
PyQt5+requests实现车票查询工具
Jan 21 Python
python scatter散点图用循环分类法加图例
Mar 19 Python
python+os根据文件名自动生成文本
Mar 21 Python
pycharm重命名文件的方法步骤
Jul 29 Python
修改Pandas的行或列的名字(重命名)
Dec 18 Python
Django如何使用jwt获取用户信息
Apr 21 Python
PyCharm中配置PySide2的图文教程
Jun 18 Python
python+opencv实现目标跟踪过程
Jun 21 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
php多文件上传下载示例分享
2014/02/20 PHP
老生常谈文本文件和二进制文件的区别
2017/02/27 PHP
Paypal实现循环扣款(订阅)功能
2017/03/23 PHP
php将html转为图片的实现方法
2017/05/19 PHP
JavaScript 学习笔记二 字符串拼接
2010/03/28 Javascript
jquery.jstree 增加节点的双击事件代码
2010/07/27 Javascript
js 创建快捷方式的代码(fso)
2010/11/19 Javascript
javascript学习之闭包分析
2010/12/02 Javascript
开发中可能会用到的jQuery小技巧
2014/03/07 Javascript
Javascript闭包(Closure)详解
2015/05/05 Javascript
浅谈javascript中的加减时间
2016/07/12 Javascript
Angular ng-class详解及实例代码
2016/09/19 Javascript
jQuery插件ajaxFileUpload使用实例解析
2016/10/19 Javascript
详解nodejs中的process进程
2017/03/19 NodeJs
BootStrap 表单控件之单选按钮水平排列
2017/05/23 Javascript
在Web关闭页面时发送Ajax请求的实现方法
2019/03/07 Javascript
详解vue项目中使用token的身份验证的简单实践
2019/03/08 Javascript
js实现unicode码字符串与utf8字节数据互转详解
2019/03/21 Javascript
微信小程序实现列表的横向滑动方式
2020/07/15 Javascript
[39:02]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs VGJ.T
2018/04/01 DOTA
[54:27]TNC vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python文件写入实例分析
2015/04/08 Python
Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法
2020/04/18 Python
python单线程文件传输的实例(C/S)
2019/02/13 Python
python实现猜拳小游戏
2020/04/05 Python
django ListView的使用 ListView中获取url中的参数值方式
2020/03/27 Python
Django admin 实现search_fields精确查询实例
2020/03/30 Python
英国网上自行车商店:Tredz Bikes
2019/10/29 全球购物
Linux内核产生并发的原因
2012/07/13 面试题
会议开场欢迎词
2014/01/15 职场文书
2014年租房协议书范本
2014/10/30 职场文书
2014年幼儿园老师工作总结
2014/12/05 职场文书
2015年团支部工作总结
2015/04/03 职场文书
2015医院个人工作总结范文
2015/05/21 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书
MySQL创建管理KEY分区
2022/04/13 MySQL