Python csv模块的writerow()和writerows()方法之间的区别

时间:2015-10-12 23:52:36

标签: python csv

我是Python的新手。我最近在CSV文件上玩过一些I / O操作,我发现csv模块中有两个名称非常相似的方法 - writerow()writerows()。从文档中我不清楚这种差异。我试着寻找一些例子,但他们似乎几乎可以互换地使用它们。

有人可以帮忙解释一下吗?

3 个答案:

答案 0 :(得分:14)

writerow需要一个可迭代的单元格来写:

writerow(["foo", "bar", "spam"])
->
foo,bar,spam

writerows需要一组可迭代的单元格来编写:

writerows([["foo", "bar", "spam"],
           ["oof", "rab", "maps"],
           ["writerow", "isn't", "writerows"]])
->
foo,bar,spam
oof,rab,maps,
writerow,isn't,writerows

因此writerow获取1维数据(一行),writerows获取二维数据(多行)。

答案 1 :(得分:4)

writerows(seq)相当于:

for item in seq:
    writerow(item)

唯一的区别是writerows允许您传递多个值!

答案 2 :(得分:0)

技术上的区别在于 writerow 会将一系列值写入单行,而 writerows 将从包含一个或多个列表的缓冲区中写入多行。

实际区别在于 writerows 会更快,尤其是当您要执行大量写入时,因为它可以一次执行所有写入。