在Python中将列表写入csv文件

时间:2018-04-10 20:07:23

标签: python python-3.x

我在Python中并且有一个我要写入csv文件的数字列表。比如,我的列表是:[1 2 3 4 5 6 7 8 9],并且在我导出此数据的csv文件中,我想每三个数字开始一个新行。这意味着,当我在Excel中打开输出文件时,我希望它看起来像 this.

所以,我基本上想要一个9元素列表并将其写入3x3矩阵。我确定我必须最终使用writerows命令,但是找不到类似于我的问题的文档,所以我不确定该如何处理它。

非常感谢任何帮助,如果在某个时候已经提出这个问题,我很抱歉。

2 个答案:

答案 0 :(得分:6)

使用理解将列表切割为2D列表,并将其传递给csv.writerows

自包含的例子:

import csv

lst = list(range(1,10))

with open("out.csv","w",newline="") as f:
    cw = csv.writer(f)
    cw.writerows(lst[i:i+3] for i in range(0,len(lst),3))

创建一个像这样的csv文件:

1,2,3
4,5,6
7,8,9

答案 1 :(得分:3)

您可以使用reshape

import numpy
my_array=numpy.reshape(my_list, (3,3))

顺便说一句,它应该是[1, 2, 3, 4, 5, 6, 7, 8, 9],而不是[1 2 3 4 5 6 7 8 9]