如何使用xlsWriterr逐行获取输出

时间:2015-10-12 03:43:43

标签: python xlsxwriter

我只是从循环中逐行打印,我的输出是这样的:

['    4.0\n', '   17.2\n', '    7.0\n']   
['    0.0\n']
['    4.0\n', '   16.7\n', '    4.0\n']
['    4.0\n', '   16.7\n', '    4.0\n']
['    4.0\n', '   16.7\n', '    4.0\n']
['    4.0\n', '   16.7\n', '    4.0\n']
['    4.0\n', '   16.4\n', '    4.0\n']

但是在我的excel输出中我只是得到这样的第一行:

enter image description here

我的预期结果如下:

enter image description here

我目前的代码在这里:

count = 0   
DataList = []                                               
for line, file in enumerate(PM2Line):       
    if POA in file: 
        DataList.append(file[32:50])                                
print DataList #--> this will print the list of output      
worksheet.write_column('A1', DataList) #--> My problem is just getting first line.  
workbook.close()

任何建议或意见。

1 个答案:

答案 0 :(得分:1)

问题是您在每次迭代中使用新值覆盖列。您的代码应该看起来像 -

#some loop
    count = 0   
    DataList = []                                               
    for line, file in enumerate(PM2Line):       
        if POA in file: 
            DataList.append(file[32:50])                                
    print DataList #--> this will print the list of output      
    worksheet.write_column('A1', DataList) #--> My problem is just getting first line.  
    workbook.close()

您应该将DataList保留在外部循环之外,并且只在该循环之外更新工作表。示例 -

#open worksheet here instead of inside the loop.
DataList = []
#some loop
    count = 0                                              
    for line, file in enumerate(PM2Line):       
        if POA in file: 
            DataList.append(file[32:50])                                
    print DataList     
worksheet.write_column('A1', DataList)
workbook.close()