以表格格式写入csv文件

时间:2017-03-20 09:33:46

标签: python csv

我有两个列表,我试图以特定格式写入csv文件。 让我们调用这些列表colHeadrowVals。 列表colHead包含需要写入csv文件的列标题的名称。我使用以下代码实现了这一点:

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

现在,rowVals是一个包含250个值的列表。这250个值以有序的格式排列。我希望在每个rowVals下编写colHead的每25个值,以获得结果。

我正在使用的代码(它没有给我想要的结果)是:

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

最后我想把这种格式写成csv格式。

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

请告诉我出错的地方。

1 个答案:

答案 0 :(得分:2)

只需使用生成器理解来提取writerows,就像这样25步,将你的250项目列表切成25次:

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