Python 将列表中的数据保存到 CSV 的列中

标签 python list 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)] 

关于Python 将列表中的数据保存到 CSV 的列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34171415/

相关文章:

python - 尝试下载html页面来创建一个非常简单的网络爬虫

python - 如何删除 seaborn 的 lmplot 函数中的图例?

python - 狮身人面像 : custom image directive surrounded by unwanted html link

python - 按长度和值对列表列表进行排序

python - 如果键属性不存在,则解析 json 文件时获取 0 条记录

python - 通过嵌套字典中的键路径映射函数,包括切片、通配符和参差不齐的层次结构

c - C 中的简单结构程序

c# - 列表、数组和 IEnumerable 协方差

mysql - csv文件格式,用于使用php上传mysql数据库中的大量数据

Python:如何使用 DictReader 两次?