1

クラスから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 ...])

ただし、これをどのように達成するかはわかりません。サブクラスの長さはさまざまなので、各行が最後に関連する数のサブクラスを追加するようにするにはどうすればよいですか? それに関するドキュメントには何も見つかりません。サブクラスのエントリから文字列を作成し、最後に 1 つのエントリを貼り付けるだけですか? ありがとう。

4

2 に答える 2

1

zがPythonだけの場合は、次listのフィールドのリストに追加するだけtです。

t.writerow([t[i].a, t[i].b, t[i].c, ...] + t[i].z)

これはと同じになり[one, list] + [another, list]ます。

tを使用する代わりに、(リスト)自体をループすることができるようです。range()

for item in t:
    t.writerow([item.a, item.b, item.c, ...] + item.z)
于 2012-12-01T23:51:49.297 に答える
1

私はそれをこのように書くことはうまくいくと思います:

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)
于 2012-12-02T00:23:51.810 に答える