2017-03-20 8 views
1

私はCSVファイルに特定の形式で書き込もうとしている2つのリストを持っています。 これらのリストをcolHeadrowValsと呼ぶことができます。 リストcolHeadには、csvファイルに書き込む必要がある列見出しの名前が含まれています。私は、次のコードを使用して、これを達成している:CSVファイルに表形式で書き込む

with open(filename, 'wb') as f: 
    writer = csv.writer(f) 
    writer.writerow(colHead) 

さて、rowValsは250個の値を含むリストです。これらの250の値は、整然としたフォーマットで整理されています。私はの下にrowValsの25の値を書き、その結果を得たいと思っています。

私は(それは私に望ましい結果を与えていません)を使用していますコードされる:最後に、私は、CSV形式にこの形式を書きたい

with open(filename, 'wb') as f: 
    writer = csv.writer(f) 
    writer.writerow(colHead) 
    for i in range(0,25): 
     writer.writerow(rowVal) 
     i+=25 

colHead1,colHead2,colHead3......colHead10 
rowVal1, rowVal26, .   , . 
rowval2, rowVal27, .   , . 
.  , .  , .   , . 
.  , .  , .   , . 
rowVal25, .  , .   , rowVal250 

私が間違っている場所も教えてください。

+0

あなたのコードlappearsを書くために同じ 'subpageurl'値は25回です。あなたの質問を編集して、2つのリストの実際の内容(またはそれぞれの少なくとも一部)を表示してください。 – martineau

+0

ありがとうございました。私は必要な変更を加えました。 –

+0

あなたの変更は同じことを25回続けて書いています。 – martineau

答えて

2

ただ、このような25のステップであなたの250項目のリストをスライス発電の理解で25回writerowsを養う:私が得る

writer.writerows(rowVal[i::25] for i in range(25)) 

を:

rowval1,rowval26,rowval51,rowval76,rowval101,rowval126,rowval151,rowval176,rowval201,rowval226 
rowval2,rowval27,rowval52,rowval77,rowval102,rowval127,rowval152,rowval177,rowval202,rowval227 
rowval3,rowval28,rowval53,rowval78,rowval103,rowval128,rowval153,rowval178,rowval203,rowval228 
... 
rowval24,rowval49,rowval74,rowval99,rowval124,rowval149,rowval174,rowval199,rowval224,rowval249 
rowval25,rowval50,rowval75,rowval100,rowval125,rowval150,rowval175,rowval200,rowval225,rowval250 
+0

シンプルでエレガントで効果的です。 – Aaron

+0

ありがとうございました。 –

+0

コンパクトな答えをありがとう。 –

関連する問題