python基础3

大量数据快速对比:

import xlrd
import xlwt
import os
import time;
#往日志文件中追加内容函数
def writeLogfile(filename,content):
    file=open(filename,'a') #以追加方式打开日志文件
    time_now= time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())  #系统时间格式化
    file.writelines(time_now+':'+content+'\n')      #写入内容
    file.close() #关闭文件
   
def read_excel(srcPath,tarPath,srcName,tarName):
    print(srcPath);
    print(tarPath);
    print(srcName);
    print(tarName);
    src_xls={}
    tar_xls={}
    src=xlrd.open_workbook(srcPath)
    tar=xlrd.open_workbook(tarPath)
    startime=time.strftime("%Y-%m-%d:%H:%M:%S",time.localtime())
    print(startime,'开始对比...')
    logName = 'log_'+startime[0:10]+'.log'
    logfile = open(logName,'w')
    logfile.writelines(startime+':[开始对比]...'+'\n')
    logfile.close()
    try:
        sheetSrc = src.sheet_by_name(srcName)
        sheetTar = tar.sheet_by_name(tarName)
        if sheetSrc.name == srcName:
            for row in range(0,sheetSrc.nrows):
                rowDesc=sheetSrc.row_values(row)
                colDescsrc=rowDesc[0]
                colDescsrc2 = rowDesc[1]
                src_xls[colDescsrc]=float(colDescsrc2)
               
        if sheetTar.name == tarName:
            for row in range(0,sheetTar.nrows):
                rowDesc=sheetTar.row_values(row)
                colDesctar=rowDesc[0]
                colDesctar2 = rowDesc[1]
                tar_xls[colDesctar]=float(colDesctar2)
               
        writeLogfile(logName,'差异数据:')
        differ = set(src_xls.items()) ^ set(tar_xls.items())
        for srcDes in differ:
            print(srcDes)
            logger = " "+ str(srcDes[0])+" "+str(srcDes[1])
            writeLogfile(logName,logger)
        endime=time.strftime("%Y-%m-%d:%H:%M:%S",time.localtime())
        print(endime,'对比结束...')          
    except Exception as err:
        print(str(err))
        writeLogfile(logName,str(err))
   
def main():
    pass
if __name__ == '__main__':
    read_excel('1007006.xlsx','1007006.xlsx','Sheet1','Sheet2')
posted @ 2019-09-03 17:30  CoderRdf  阅读(158)  评论(0)    收藏  举报