解决csv.writer写入文件有多余的空行问题
在用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 写入csv乱码问题解决方法
需求背景 最近为公司开发了一套邮件日报程序,邮件一般就是表格,图片,然后就是附件.附件一般都是默认写到txt文件里,但是PM希望邮件里的附件能直接用Excel这种软件打开,最开始想保存为Excel,但是一想Excel的文件体积会多出好多倍,csv文件默认也是使用Excel打开的,但是根本还是文本文件,体积小,保存也方便,于是最终决定使用csv模块来保存文件. Python写csv文件 Python提供了内置模块读写csv文件,这里我只用到了写,读这里就不做介绍了,也不难,主要是解决乱码问题. d
-
Python用csv写入文件_消除空余行的方法
只做简单地记录,方便一下使用!python关于csv模块的介绍网上有很多资料,这里就不在赘诉.直接给出代码和解释. 数据: Symbol,Price,Date,Time,Change,Volume "AA",39.48,"6/11/2007","9:36am",-0.18,181800 "AIG",71.38,"6/11/2007","9:36am",-0.15,195500 "
-
Python写入CSV文件的方法
本文实例讲述了Python写入CSV文件的方法.分享给大家供大家参考.具体如下: # _*_ coding:utf-8 _*_ #xiaohei.python.seo.call.me:) #win+python2.7.x import csv csvfile = file('csvtest.csv', 'wb') writer = csv.writer(csvfile) writer.writerow(['id', 'url', 'keywords']) data = [ ('1', 'http
-
解决csv.writer写入文件有多余的空行问题
在用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也不支持直接的编码.
-
解决Python字典写入文件出行首行有空格的问题
模拟购物车程序,判断用户薪资是否是0 如果是0就需要输入薪资,并记录到文件内. 可以预先存个字典格式的字符串,然后去读取文件的时候读到的是字字符串然后再去用eval去转换成字典. 当我们覆盖写到文件的时候就会发现首行会有空格,当我们再去读取eval的时候就会报错,那怎么样可以解决这个问题呢! import json info = { 'lisi':0, 'zhangshan':100, } f = open('json.txt','w') f.write(json.dumps(info)) {"
-
python使用writerows写csv文件产生多余空行的处理方法
初次接触python,学艺不精,第一次实战写一个文本处理的小程序时便遇到了头疼的问题. 先看代码: 生成的.CSV文件每两行之间都会多出一行空格(如下图),具体原因可参看点击打开链接 with open('E:\\test.csv','wt')as fout: cout=csv.DictWriter(fout,list_attrs_head )#list_attrs_head头属性列表 cout.writeheader() cout.writerows(list_words) 上面链接中的这位大
-
python写入数据到csv或xlsx文件的3种方法
本文实例为大家分享了三种方式使用python写数据到csv或xlsx文件,供大家参考,具体内容如下 第一种:使用csv模块,写入到csv格式文件 # -*- coding: utf-8 -*- import csv with open("my.csv", "a", newline='') as f: writer = csv.writer(f) writer.writerow(["URL", "predict", "
-
Python将列表数据写入文件(txt, csv,excel)
写入txt文件 def text_save(filename, data):#filename为写入CSV文件的路径,data为要写入数据列表. file = open(filename,'a') for i in range(len(data)): s = str(data[i]).replace('[','').replace(']','')#去除[],这两行按数据不同,可以选择 s = s.replace("'",'').replace(',','') +'\n' #去除单引号,
-
Python操作csv文件之csv.writer()和csv.DictWriter()方法的基本使用
目录 一.csv.writer()方法的基本使用 二.csv.DictWriter()方法的基本使用 总结 一.csv.writer()方法的基本使用 示例代码1: import csv data = [ (1,"cat",18), (2,"dog",17), (3,"tigger",16), ] f = open('test.csv','a',encoding='utf8',newline='') writer = csv.writer(f)
-
centos下file_put_contents()无法写入文件的原因及解决方法
centos下file_put_contents()无法写入文件的原因是没有文件夹权限 直接修改目标文件夹/文件 # chmod 777 文件夹名称 以上这篇centos下file_put_contents()无法写入文件的原因及解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
Centos系统下“无法打开并写入文件”问题的解决
摘要 最近在工作中发行限了一个问题,当前是root用户,去编辑/etc/ssh/sshd_config 却提示没有权限修改.报错如"/etc/ssh/sshd_config" E212: 无法打开并写入文件. 问题思考 既然提示没有权限,又是root用户,看肯定是给该文件设置了特殊的权限.检查特殊权限设置: getfacl lsattr getfacl 结果正常 root@pts/1 $ getfacl /etc/ssh/sshd_config getfacl: Removing le
-
php解决crontab定时任务不能写入文件问题的方法分析
本文实例讲述了php解决crontab定时任务不能写入文件问题的方法.分享给大家供大家参考,具体如下: 今天使用crontab写的定时任务没有执行,很纳闷. crontab.php <?php error_reporting(0); $time = date("Y-m-d h:i:s",time()); file_put_contents($dir."/crontab.txt","[$time]\n",FILE_APPEND); cront
随机推荐
- 如何在DOS下使用长文件名
- vsftpd 出现530 and 500 错误问题解决办法
- 网络PING包查询
- 安装Oracle时出现环境变量Path的值大于1023的解决办法
- Python入门篇之列表和元组
- 浅析javascript的间隔调用和延时调用
- python爬虫实战之最简单的网页爬虫教程
- Python多线程和队列操作实例
- Python中模拟enum枚举类型的5种方法分享
- mysql备份脚本以及删除前5天的备份文件
- Python内置函数的用法实例教程
- JS简单测试循环运行时间的方法
- 用VBS修改远程桌面3389端口并添加到Windows防火墙的代码
- Python获取DLL和EXE文件版本号的方法
- js前台分页显示后端JAVA数据响应
- jQuery 中使用JSON的实现代码
- 在Windows下也可以玩Ghost
- php获取flash尺寸详细数据的方法
- Android线程的优先级设置方法技巧
- Cisco路由技术基础知识详解之一