Python将列表中的数据保存到CSV中的列中
我的列表每次都是动态生成的,但在本例中,列表的基本范围可以是0-24。列表由my函数拆分并写入CSV文件。下面是一些代码:Python将列表中的数据保存到CSV中的列中,python,list,csv,Python,List,Csv,我的列表每次都是动态生成的,但在本例中,列表的基本范围可以是0-24。列表由my函数拆分并写入CSV文件。下面是一些代码: numSeq = range(25) def split_list(alist, rows): length = len(alist) return [alist [i*length // rows: (i+1)*length // rows] for i in range(rows)] with open(csvfile, "w") as output
numSeq = range(25)
def split_list(alist, rows):
length = len(alist)
return [alist [i*length // rows: (i+1)*length // rows] for i in range(rows)]
with open(csvfile, "w") as output:
writer = csv.writer(output, lineterminator='\n')
writer.writerows(split_list(numSeq, 5))
这个很好用。问题是,我想把它分成列而不是行。具体而言,它是这样写入CSV的:
00,01,02,03,04
05,06,07,08,09
10,11,12,13,14
15,16,17,18,19
20,21,22,23,24
00,05,10,15,20
01,06,11,16,21
02,07,12,17,22
03,08,13,18,23
04,09,14,19,24
但是,我需要它像这样拆分和编写:
00,01,02,03,04
05,06,07,08,09
10,11,12,13,14
15,16,17,18,19
20,21,22,23,24
00,05,10,15,20
01,06,11,16,21
02,07,12,17,22
03,08,13,18,23
04,09,14,19,24
你知道我该怎么做吗?提前谢谢
对不起,格式不好,我在手机上 您可以使用以下函数转换生成的列表:
writer.writerows(zip(*split_list(numSeq, 5)))
例如:
>>> lst = [[1, 2, 3], [4, 5, 6]]
>>> zip(*lst)
[(1, 4), (2, 5), (3, 6)]
查看解决方案:这非常有效!我不知道zip这么简单。谢谢你的快速回答。