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中的模块和包概念介绍
Apr 13 Python
用Python登录Gmail并发送Gmail邮件的教程
Apr 17 Python
Python 实现数据库(SQL)更新脚本的生成方法
Jul 09 Python
Python字符编码与函数的基本使用方法
Sep 30 Python
Python学习之Django的管理界面代码示例
Feb 10 Python
Python生成器定义与简单用法实例分析
Apr 30 Python
TensorFlow打印tensor值的实现方法
Jul 27 Python
python 2.7.13 安装配置方法图文教程
Sep 18 Python
新手如何发布Python项目开源包过程详解
Jul 11 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
Sep 10 Python
Python基于Tensor FLow的图像处理操作详解
Jan 15 Python
Python虚拟环境的创建和包下载过程分析
Jun 19 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
全国FM电台频率大全 - 4 山西省
2020/03/11 无线电
PHP zlib扩展实现页面GZIP压缩输出
2010/06/17 PHP
PHP采集腾讯微博的实现代码
2012/01/19 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
JavaScript 获取当前时间戳的代码
2010/08/05 Javascript
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
2012/08/14 Javascript
jquery获取当前日期的方法
2015/01/14 Javascript
javascript实现的上下无缝滚动效果
2016/09/19 Javascript
jQuery+pjax简单示例汇总
2017/04/21 jQuery
vue用addRoutes实现动态路由的示例
2017/09/15 Javascript
angularjs使用div模拟textarea文本框的方法
2018/10/02 Javascript
详解vue如何使用rules对表单字段进行校验
2018/10/17 Javascript
用js简单提供增删改查接口
2019/05/12 Javascript
深入了解响应式React Native Echarts组件
2019/05/29 Javascript
layer ui 导入文件之前传入数据的实例
2019/09/23 Javascript
Python中使用Boolean操作符做真值测试实例
2015/01/30 Python
python下MySQLdb用法实例分析
2015/06/08 Python
Python按行读取文件的简单实现方法
2016/06/22 Python
对python cv2批量灰度图片并保存的实例讲解
2018/11/09 Python
python实现指定字符串补全空格、前面填充0的方法
2018/11/16 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
selenium+python环境配置教程详解
2019/05/28 Python
详解Django3中直接添加Websockets方式
2020/02/12 Python
为什么UNION ALL比UNION快
2016/03/17 面试题
公务员培训自我鉴定
2014/02/01 职场文书
销售员岗位职责范本
2014/02/03 职场文书
会计专业大学生职业生涯规划书
2014/02/11 职场文书
2014年公司迎新年活动方案
2014/02/24 职场文书
医学生求职自荐书
2014/06/12 职场文书
岗位竞聘报告范文
2014/11/06 职场文书
教师个人考察材料
2014/12/16 职场文书
学校捐书倡议书
2015/04/27 职场文书
毕业证明书
2015/06/19 职场文书
安全教育主题班会总结
2015/08/14 职场文书
pandas 操作 Excel操作总结
2021/03/31 Python
python实现高效的遗传算法
2021/04/07 Python