Python writerow/writerows 添加数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python writerow/writerows 添加数据相关的知识,希望对你有一定的参考价值。

参考技术A with open('xxxx.csv','w',newlines='') as f:

    writer = csv.writer(f)  #创建初始化写入对象

    writer.writerow(['color','red']) # 一行一行写入 ['color','red']

* 在windows里,csv保存得到的文件是每空一行储存一条数据,使用newlines=''可保证存储存的数    据不空行。

with open('xxxx.csv','w') as f:

    writer = csv.writer(f)

    writer.writerows([('color','red'),('size','big'),('male','female')]) #多行写入

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/writerows 添加数据的主要内容,如果未能解决你的问题,请参考以下文章

python3 writerow CSV文件多一个空行

Python学习中,当使用writerow时输出多余的空行解决方法

请帮我翻译这个 Python 代码 [重复]

使用writer.writerows(reader)在python3中逐个编写csv行而不是一次写入csv行

如何在 for 循环中将结果写入多个 CSV 文件

Python CSV 编写器空行