[英]Python saving data from lists into columns in a CSV
每次都会动态生成我的列表,但是在本示例中,该列表的基本范围可以是0-24。该列表由我的功能拆分并写入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:
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
关于我该怎么做的任何想法? 提前致谢!
抱歉,格式化不正确,我正在使用手机!
您可以使用zip()
函数转置结果列表:
writer.writerows(zip(*split_list(numSeq, 5)))
例:
>>> lst = [[1, 2, 3], [4, 5, 6]]
>>> zip(*lst)
[(1, 4), (2, 5), (3, 6)]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.