在python中将不同长度的数组写入csv

在python中将不同长度的数组写入csv,python,csv,Python,Csv,我正在尝试将大量字段从类写入csv。例如 for i in range(0, len(t)): t.writerow([t[i].a, t[i].b, t[i].c,...] 但是,我有一个子类,我也想在列表的末尾写下: for i in range(0, len(t)): t.writerow([ t[i].a, t[i].b, t[i].c,... t[i].z[0].s, t[i].z[1].s ...]) 但是,我不确定如何实现这一点,子类的长度是不

我正在尝试将大量字段从类写入csv。例如

for i in range(0,  len(t)):
    t.writerow([t[i].a,  t[i].b,  t[i].c,...]
但是,我有一个子类,我也想在列表的末尾写下:

for i in range(0,  len(t)):
    t.writerow([  t[i].a,  t[i].b,  t[i].c,...  t[i].z[0].s,  t[i].z[1].s ...])

但是,我不确定如何实现这一点,子类的长度是不同的,那么我如何确保每一行都在末尾追加相关数量的子类呢?我在报纸上找不到关于它的任何东西。我是否从子类条目中生成一个字符串,然后在末尾粘贴一个条目?谢谢。

如果
z
只是一个python
列表
,只需将其附加到
t
中的字段列表中即可:

t.writerow([t[i].a, t[i].b, t[i].c, ...] + t[i].z)
这将与
[one,list]+[one,list]
相同

看起来您可以直接循环
t
(列表)本身,而不是使用
范围()


我认为这样写会有用:

for i in range(len(t)):
    row = [[ e.a, e.b, e.c, ...] + [e.z[0], e.z[1], e.z[2], ...] for e in t[i]]
    t.writerow(row)

谢谢Martijn。这不是一个完整的清单。它是一个子类,如t.z[1].s,t.z[2].s。。。。我试过你的建议,但没用。这是我的错,我已经编辑了OPI,但是我可以将t.z.s添加到一个列表中,然后再添加它吗?很难阅读您的示例代码,请添加一些空白,使事情的开始和结束更加明显。哦,三个点就足够了。谢谢。谢谢,我已经做了一个空的列表并附加了一个for循环,但是看起来好多了!
for i in range(len(t)):
    row = [[ e.a, e.b, e.c, ...] + [e.z[0], e.z[1], e.z[2], ...] for e in t[i]]
    t.writerow(row)