python基础3
大量数据快速对比:
import xlrd
import xlwt
import os
import time;
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)
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)
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))
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')

浙公网安备 33010602011771号