Python学习中,当使用writerow时输出多余的空行解决方法
Posted yyyc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习中,当使用writerow时输出多余的空行解决方法相关的知识,希望对你有一定的参考价值。
今天在学习用Python进行CSV文件存储
当我以csv格式写入文件的时候,文件读取的时候出现了多余的空行,代码:
1 import csv
2
3 with open(‘data.csv‘, ‘w‘) as csvfile:
4 writer = csv.writer(csvfile)
5 writer.writerow([‘id‘, ‘name‘, ‘age‘])
6 writer.writerow([‘10001‘, ‘Mike‘, ‘20‘])
7 writer.writerow([‘10002‘, ‘Bob‘, ‘22‘])
8 writer.writerow([‘10003‘, ‘Jordan‘, ‘21‘])
出现空行的结果:
经过网上的资料查阅后,问题产生的原因是csv输出的效果是行末是CR,然后是一个CRLF的换行符,网上给出的解决方法是将写入格式改为binary模式。
但我运行后却报出这样的错误:TypeError: a bytes-like object is required, not ‘str‘ ,因为我写入的是字符串数据,于是我采取了另一种解决方法:
在加一个csv.writer中加入linwterminator=‘ ‘的参数,修改后的代码为:
1 import csv 2 3 with open(‘data.csv‘, ‘w‘) as csvfile: 4 writer = csv.writer(csvfile, lineterminator=‘ ‘) 5 writer.writerow([‘id‘, ‘name‘, ‘age‘]) 6 writer.writerow([‘10001‘, ‘Mike‘, ‘20‘]) 7 writer.writerow([‘10002‘, ‘Bob‘, ‘22‘]) 8 writer.writerow([‘10003‘, ‘Jordan‘, ‘21‘])
此时创建的csv文件没有了多余的空行:
以上是关于Python学习中,当使用writerow时输出多余的空行解决方法的主要内容,如果未能解决你的问题,请参考以下文章
Python writerow/writerows 添加数据
Python,repl.it - 未使用 csv.writer 和 writer.writerow 将详细信息写入文件