我是Python的新手。我最近在CSV文件上玩过一些I / O操作,我发现csv
模块中有两个名称非常相似的方法 - writerow()
和writerows()
。从文档中我不清楚这种差异。我试着寻找一些例子,但他们似乎几乎可以互换地使用它们。
有人可以帮忙解释一下吗?
答案 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 会更快,尤其是当您要执行大量写入时,因为它可以一次执行所有写入。