def compare(csvReader,xlReader,tabName,match): book = xlrd.open_workbook(xlReader) sheetname = book.sheet_by_name(tabName) try: row = 0 accordance = True while 1: col = 0 list = csvReader.next() for word in list: if len(word) == 0: try: if word.decode('gbk').strip() != sheetname.cell_value(row,col): print u'第%s行,第%s列'%(row+1,col+1),'[',sheetname.cell_value(0,col),u']不一致:',/ u'csv:',word.decode('gbk'),'--->',u'excel:',sheetname.cell_value(row,col) #log文件 log.writelines('************'+tabName+'************/n') log.writelines(match+u'的'+tabName+u'和'+csvFileName+'/n') log.writelines(u'第%s行,第%s列'%(row+1,col+1)+'['+str(sheetname.cell_value(0,col))+u']不一致:'/ +u'csv:'+word.decode('gbk')+'--->'+u'excel:'+str(sheetname.cell_value(row,col))) except IndexError: col += 1 continue elif type(sheetname.cell_value(row,col)) == float or type(sheetname.cell_value(row,col)) == int: a = sheetname.cell_value(row,col) a = str(a) col += 1 continue elif word.decode('gbk').strip() != sheetname.cell_value(row,col).encode('utf-8').strip(): try: print word.decode('gbk').strip() print u'第%s行,第%s列'%(row+1,col+1),'[',sheetname.cell_value(0,col),u']不一致:',/ u'csv:',word.decode('gbk').strip(),'--->',u'excel:',sheetname.cell_value(row,col).strip() #log文件 log.writelines('************'+tabName+'************/n') log.writelines(match+u'的'+tabName+u'和'+csvFileName+'/n') log.writelines(u'第%s行,第%s列'%(row+1,col+1)+'['+str(sheetname.cell_value(0,col))+u']不一致:'/ +u'csv:'+word.decode('gbk').strip()+'--->'+u'excel:'+str(sheetname.cell_value(row,col))+'/n') except UnicodeEncodeError: print u'第%s行,第%s列'%(row+1,col+1),'[',sheetname.cell_value(0,col),u']发现奇怪符号' #log文件 log.writelines('************'+tabName+'************/n') log.writelines(match+u'的'+tabName+u'和'+csvFileName+'/n') log.writelines(u'第%s行,第%s列'%(row+1,col+1)+'['+str(sheetname.cell_value(0,col))+u']发现奇怪符号/n') #log文件 log.writelines('************'+tabName+'************/n') log.writelines(match+u'的'+tabName+u'和'+csvFileName+'/n') log.writelines(u'第%s行,第%s列'%(row+1,col+1)+'['+str(sheetname.cell_value(0,col))+u']不一致:'+/ u'csv:'+word.decode('gbk').encode('utf-8').strip()+'--->'+u'excel:'+str(sheetname.cell_value(row,col))+'/n') accordance = False col += 1 row += 1