在Python的csv列中写几个列表列表

时间:2013-12-04 05:57:19

标签: python list variables csv for-loop

我有一个列表列表,需要在csv列中编写每个元素。 使用下面的代码,它输出我想要的。

for row in izip_longest(*averages_, fillvalue = ['']):
    writer.writerow(row[0] + row[1])

行[0]的样本行:

['0.000000', '0.000586', '0.005819', '0.011434', '0.052012', 0.000586118993]

问题: 如何将代码(row[0] + row[1])替换为包含变量的代码,以便在主列表中自动添加任意数量的子列表(row[i] + row[i+1] + row[i+2]...)

2 个答案:

答案 0 :(得分:1)

如果row是列表列表,请将(row[0] + row[1])替换为

list(itertools.chain.from_iterable(row))

[item for sublist in row for item in sublist]

您正在展平列表。我从https://stackoverflow.com/a/952952/2823755

中挑选了两个

答案 1 :(得分:1)

如果我理解你想要的东西,那么下面应该做的就是:

writer.writerow(reduce(lambda x, y: x+y, row)) 

这项工作适用于的所有元素。如果你想对第一个 count 元素求和,你可以这样尝试:

writer.writerow(reduce(lambda x, y: x+y, row[:count - 1])) 
相关问题