合并的xls输出不同

我想我的脚本的输出是这样的:

2 11 4 12 6 13 8 14 48 15 

但是输出如下所示:

 2 48 4 48 6 48 8 48 48 48 

下面是代码,有人可以帮助我做错了什么:

 import xlwt import xlrd import sys ; sys.path #Create workbook and worksheet wbk = xlwt.Workbook() sheet = wbk.add_sheet('Data_1')#name of the sheet in which new data is there row = 0 f = xlrd.open_workbook('Data_1.xls')#workbook from where data is extracted g = xlrd.open_workbook('Data_2.xls')#workbook from where data is extracted sheet1 = f.sheet_by_index(0) sheet2 = g.sheet_by_index(0) for i in xrange(5): temp = sheet1.row_values(i) print temp col = 0 for element in temp: sheet.write(i,col,element) col += 1 i += 1 for j in xrange(5): temp1 = sheet2.row_values(j) print temp1 col = 1 for elements in temp1: sheet.write(j,col,element) col +=1 j += 1 wbk.save('DATA.xls') #excel sheet name when saved in the folder 

在你的第二个循环中,你在variables名中有一个错字。

 for elements in temp1: 

应该

 for element in temp1: 

编辑 :你的例子中也有很多冗余的代码。 我冒昧地把你的程序改写得简洁一点(虽然注意,我没有testing过):

 import xlwt import xlrd import sys #Create workbook and worksheet wbk = xlwt.Workbook() dest_sheet = wbk.add_sheet('Data_1') for sheet_idx in range(1, 3): sheet = xlrd.open_workbook('Data_%d.xls' % sheet_idx).sheet_by_index(0) for i in range(5): values = sheet.row_values(i) for idx, element in enumerate(values): dest_sheet.write(i, sheet_idx+idx, element) wbk.save('DATA.xls')