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简单获取本机计算机名和IP地址的方法
Jun 03 Python
Python教程之全局变量用法
Jun 27 Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
Sep 19 Python
基于python进行桶排序与基数排序的总结
May 29 Python
利用pandas将numpy数组导出生成excel的实例
Jun 14 Python
python+opencv实现霍夫变换检测直线
Oct 23 Python
使用python实现mqtt的发布和订阅
May 05 Python
基于python实现从尾到头打印链表
Nov 02 Python
Python Lambda函数使用总结详解
Dec 11 Python
Python3搭建http服务器的实现代码
Feb 11 Python
Python基础之数据类型知识汇总
May 18 Python
Python&Matlab实现灰狼优化算法的示例代码
Mar 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
Syphon 秘笈
2021/03/03 冲泡冲煮
PHP4与PHP5的时间格式问题
2008/02/17 PHP
jQuery+php实现ajax文件即时上传的详解
2013/06/17 PHP
如何修改yii2.0自带的user表为其它的表
2017/08/01 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
Yii框架引入coreseek分页功能示例
2019/02/08 PHP
6个DIV 135或246间隔一秒轮番显示效果
2010/07/24 Javascript
在js文件中如何获取basePath处理js路径问题
2013/07/10 Javascript
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
中文输入法不触发onkeyup事件的解决办法
2014/07/09 Javascript
Javascript URI 解析介绍
2015/03/15 Javascript
js电话号码验证方法
2015/09/28 Javascript
js基础知识(公有方法、私有方法、特权方法)
2015/11/06 Javascript
原生javascript实现解析XML文档与字符串
2016/03/01 Javascript
JavaScript 中对象的深拷贝
2016/12/04 Javascript
vue动态路由实现多级嵌套面包屑的思路与方法
2017/08/16 Javascript
Vue页面骨架屏的实现方法
2018/05/22 Javascript
使用Promise封装小程序wx.request的实现方法
2019/11/13 Javascript
[02:25]DOTA2英雄基础教程 生死判决瘟疫法师
2013/12/06 DOTA
不到40行代码用Python实现一个简单的推荐系统
2019/05/10 Python
Flask框架学习笔记之模板操作实例详解
2019/08/15 Python
如何基于Python Matplotlib实现网格动画
2020/07/20 Python
GLAMGLOW格莱魅美国官网:美国知名的面膜品牌
2016/12/31 全球购物
倩碧香港官方网站:Clinique香港
2017/11/13 全球购物
Farfetch澳大利亚官网:Farfetch Australia
2020/04/26 全球购物
幼儿园教师个人反思
2014/01/30 职场文书
追悼会主持词
2014/03/20 职场文书
高一学生期末评语
2014/04/25 职场文书
心理健康活动总结
2014/04/30 职场文书
2015年元旦演讲稿
2014/09/12 职场文书
员工家属慰问信
2015/03/24 职场文书
银行求职信范文
2019/05/13 职场文书
创业计划书之寿司
2019/07/19 职场文书
MySQL 用 limit 为什么会影响性能
2021/09/15 MySQL
Win11 引入 Windows 365 云操作系统,适应疫情期间混合办公模式:启动时直接登录、模
2022/04/06 数码科技
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android