Python csv模块的writerow()和writerows()方法之间的差异

Python csv模块的writerow()和writerows()方法之间的差异,python,csv,Python,Csv,我是Python领域的新手。我最近一直在玩CSV文件的一些I/O操作,我在CSV模块中发现了两个名称非常相似的方法-writerow()和writerows()。从文档中我不太清楚区别。我试图寻找一些例子,但它们似乎几乎可以互换使用 谁能帮我澄清一下吗?writerows(seq)相当于: for item in seq: writerow(item) 所以唯一的区别是,writerows允许您传递多个值 writerow需要一个可写入的单元格数: writerow(["foo", "

我是Python领域的新手。我最近一直在玩CSV文件的一些I/O操作,我在
CSV
模块中发现了两个名称非常相似的方法-
writerow()
writerows()
。从文档中我不太清楚区别。我试图寻找一些例子,但它们似乎几乎可以互换使用

谁能帮我澄清一下吗?

writerows(seq)
相当于:

for item in seq:
    writerow(item)

所以唯一的区别是,
writerows
允许您传递多个值

writerow
需要一个可写入的单元格数:

writerow(["foo", "bar", "spam"])
->
foo,bar,spam
writerows([["foo", "bar", "spam"],
           ["oof", "rab", "maps"],
           ["writerow", "isn't", "writerows"]])
->
foo,bar,spam
oof,rab,maps,
writerow,isn't,writerows
writerows
需要一组可写入的单元格:

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

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

技术上的区别是writerow将把一个值列表写入一行,而writerows将从包含一个或多个列表的缓冲区写入多行


实际的区别是writerows会更快,特别是当您要执行大量写入操作时,因为它可以同时执行所有写入操作。

这两种方法是否有性能比较?@TheSohan我没有进行比较,但是如果我不得不猜测我将把钱放在写服务器上,如果你已经在迭代中有多行,而你的帖子回答了这个问题,考虑添加相同的代码例子。