如何将列表写入相应的列

时间:2015-01-05 18:46:26

标签: python excel csv xlwt

提前致谢!我有3个带文本的列表,每个列表都有8个数据点。

我希望输出到excel电子表格的A,C,D列。

我正在使用pyExcelerator,最大的问题是当我重新运行程序时,它取代了原来的程序。我只想将结果添加到现有的Excel电子表格中。与a中的file.write选项一样。

    indexlist = list();
    indexlist2 = list();
    indexlist3 = list();
    #keep adding new element at same speed
    indexlist.append(a);
    indexlist2.append(b);
    indexlist3.append(c);


#create the new excel spreadsheet   
w = Workbook()  
ws = w.add_sheet('sheet') 

for i in range(len(indexlist)):
    ws.write(i+1,3,str(indexlist[i]))   
for j in range(len(indexlist2)):
    ws.write(j+1,2,str(indexlist2[j]))  
for k in range(len(indexlist3)):
    ws.write(k+1,0,str(indexlist3[k]))  

1 个答案:

答案 0 :(得分:0)

它会重写行中的值,因为i,j和k是您写入的行号,每次运行程序时它们都从0开始。您需要做的是打开文件以读取冷杉,查看工作表是否存在,如果不是第一次继续写入,如果工作表存在,请查看最后一行编号是什么(有一个nrows函数可用于xlrd),关闭文件并重新打开以进行写入。然后在ws.write语句中将该值添加到i + 1,j + 1和k + 1。