python把excel数据对比,python两个excel数据分析
今天老大交给我一个任务,对比两个版本的超过数据的异同(增删情况),唉,说多了都是泪,自从学会了python,再也不用担心老大这样的任务了~~~
好了直接上代码吧,代码中解释
导入读操作
导入xlwt
#来自xlutils.copy导入副本#暂时用不上
导入操作系统
l_p=[]#定义两个全局列表,分别存储原始和目的需要对比的数据
l_t=[]
def read_excel():
WB _ pri=xlrd。open _ workbook( verp。xlsx )#打开原始文件
WB _ tar=xlrd。打开_工作簿(垂直。xlsx )#打开目标文件
wb_result=xlwt .工作簿()#新建一个文件,用来保存结果
工作表结果=WB结果。add _ sheet(结果,cell_overwrite_ok=True)
result_i=0
result_j=0
对于范围(2,21)中的第一页:
sheet _ pri=WB _ pri工作表索引(工作表一)#通过指数获取每个床单,为了省心,我根据自己的需要限定为第2-21个表
sheet _ tar=WB _ tar。工作表索引
工作表_备份=WB _备份。获取工作表(工作表一)
print(sheet_pri.name,sheet_tar.name)
#为什么是取这一列,因为这就是需要对比的数据阿
LP=sheet _ pricol _ values(2)
l_t=sheet_tar.col_values(2)
#tmp=[var for val in a if val in b] #这个是求交集,老大没要求是用不上的
#求参数在优先级(原始数据)中存在,而在焦油(目标)中不存在的
tmp_pd=list(set(l_p))。差(set(l_t)))
#求参数在水手中存在,而在优先(优先级的缩写)中不存在的
tmp_td=list(set(l_t)).差分(set(l_p)))
如果结果_i
结果_ i=结果_j
否则:
结果j=结果我
对于tmp_pd中的pd_i:
结果_i=结果_i 1
sheet_result.write(result_i,0,sheet_pri.name)
工作表_结果.写入(结果_i,2,pd_i)
对于tmp_td中的td_i:
结果_ j=结果_j 1
sheet_result.write(result_j,1,sheet_tar.name)
工作表_结果.写入(结果_j,3,td_i)
#好了,可以去名为结果的超过中查看结果了
wb_result.save(result.xls )
if __name__==__main__ :
read_excel()
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。