解决csv.writer写入文件有多余的空行问题


Posted in Python onJuly 06, 2018

在用csv.writer写入文件的时候发现中间有多余的空行。

最早打开方式只是‘w',会出现多余的空行,网上建议使用binary形式‘wb'打开可以解决问题:

with open('egg2.csv', 'wb') as cf:

不过只能在python2下运行,python3报错:

TypeError: a bytes-like object is required, not 'str'

有人建议用encode(‘utf-8')编码转变格式,但是觉得还是比较繁琐,因为list也不支持直接的编码。

再找了一圈,找到的最佳解释:

python2.x中写入CSV时,CSV文件的创建必须加上'b'参数,即csv.writer(open('test.csv','wb')),不然会出现隔行的现象。网上搜到的解释是:python正常写入文件的时候,每行的结束默认添加'n',即0x0D,而writerow命令的结束会再增加一个0x0D0A,因此对于windows系统来说,就是两行,而采用' b'参数,用二进制进行文件写入,系统默认是不添加0x0D的。

而python3.x中换成采用newline=''这一参数来达到这一目的。

这里python2和3的问题和解决方法都给出了。

最后

python3下的正确代码:

with open('egg2.csv', 'w', newline='') as cf:

以上这篇解决csv.writer写入文件有多余的空行问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python如何通过subprocess调用adb命令详解
Aug 27 Python
Python+matplotlib实现华丽的文本框演示代码
Jan 22 Python
Python基于百度云文字识别API
Dec 13 Python
Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】
Mar 11 Python
python安装virtualenv虚拟环境步骤图文详解
Sep 18 Python
Tensorflow 实现释放内存
Feb 03 Python
使用Pyhton 分析酒店针孔摄像头
Mar 04 Python
如何在django中实现分页功能
Apr 22 Python
深入了解Python enumerate和zip
Jul 16 Python
Python txt文件常用读写操作代码实例
Aug 03 Python
如何通过安装HomeBrew来安装Python3
Dec 23 Python
PO模式在selenium自动化测试框架的优势
Mar 20 Python
Python简单爬虫导出CSV文件的实例讲解
Jul 06 #Python
Python实现的从右到左字符串替换方法示例
Jul 06 #Python
Python用csv写入文件_消除空余行的方法
Jul 06 #Python
Python实现string字符串连接的方法总结【8种方式】
Jul 06 #Python
python 读取目录下csv文件并绘制曲线v111的方法
Jul 06 #Python
Python 爬虫之Beautiful Soup模块使用指南
Jul 05 #Python
Python实现模拟登录网易邮箱的方法示例
Jul 05 #Python
You might like
对squid中refresh_pattern的一些理解和建议
2009/04/17 PHP
str_replace只替换一次字符串的方法
2013/04/09 PHP
php根据用户名和手机号查询是否存在手机号码
2017/02/16 PHP
PHP htmlentities()函数用法讲解
2019/02/25 PHP
php设计模式之职责链模式定义与用法经典示例
2019/09/19 PHP
Javascript的一种模块模式
2008/03/22 Javascript
javascript document.compatMode兼容性
2010/02/23 Javascript
js 函数调用模式小结
2011/12/26 Javascript
javascript实现图片自动和可控的轮播切换特效
2015/04/13 Javascript
基于javascript实现仿百度输入框自动匹配功能
2016/01/03 Javascript
全屏js头像上传插件源码高清版
2016/03/29 Javascript
angular directive的简单使用总结
2017/05/24 Javascript
微信小程序 Buffer缓冲区的详解
2017/07/06 Javascript
JavaScript简单实现动态改变HTML内容的方法示例
2018/12/25 Javascript
仿vue-cli搭建属于自己的脚手架的方法步骤
2019/04/17 Javascript
Layui table field初始化加载时进行隐藏的方法
2019/09/19 Javascript
[54:56]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第三局
2016/03/06 DOTA
[01:07:13]TNC vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[41:21]夜魇凡尔赛茶话会 第三期02:看图识人
2021/03/11 DOTA
python使用os.listdir和os.walk获得文件的路径的方法
2017/12/16 Python
django 删除数据库表后重新同步的方法
2018/05/27 Python
python 不同方式读取文件速度不同的实例
2018/11/09 Python
Python字符串的一些操作方法总结
2019/06/10 Python
python基于socket实现的UDP及TCP通讯功能示例
2019/11/01 Python
通过python连接Linux命令行代码实例
2020/02/18 Python
Pycharm在指定目录下生成文件和删除文件的实现
2020/12/28 Python
CSS3中颜色线性渐变实战
2015/07/18 HTML / CSS
Sephora丝芙兰马来西亚官方网站:国际化妆品购物
2018/03/15 全球购物
欧洲品牌瓷器餐具网上商店:Porzellantreff.de
2018/04/04 全球购物
RIP版本1跟版本2的区别
2013/12/30 面试题
青奥会口号
2014/06/12 职场文书
科学发展观演讲稿
2014/09/11 职场文书
80后婚前协议书范本
2014/10/24 职场文书
教你如何使用Python下载B站视频的详细教程
2021/04/29 Python
详细谈谈JavaScript中循环之间的差异
2021/08/23 Javascript
使用Python解决图表与画布的间距问题
2022/04/11 Python