python实现对excel进行数据剔除操作实例
前言
学习Python的过程中,我们会遇到Excel的各种问题。下面这篇文章主要给大家介绍了关于python对excel进行数据剔除操作的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
Python解析Excel时需要安装两个包,分别是xlrd(读excel)和xlwt(写excel),安装方法如下:
pipinstallxlrd pipinstallxlwt
需求分析:
判断excel2表中的某个唯一字段是否满足条件,如果满足条件,就在excel1中进行查询,若存在excel中,就将该数据进行剔除。
python脚本的实现:
from__future__importdivision importpandasaspd #指定文件的路径 imputfile='C:\\Users\\Administrator\\Desktop\\excel1.xlsx'#原始表excel1 imputfile1='C:\\Users\\Administrator\\Desktop\\excel2.xls'#excel2 outputfile='C:\\Users\\Administrator\\Desktop\\result.xlsx'#结果 #读取excel1的数据到data data=pd.read_excel(imputfile,encoding='utf-8') ex_list=list(data.iloc[:,1])#将需要比对的字段转换为list形式 #读取excel2的数据到remove_data remove_data=pd.read_excel(imputfile1,encoding='utf-8') #找出excel2中需要筛选的字段满足的条件。如我这边需要满足的条件是:remove_data.iloc[i,7]=='成功' remove_phone=[] foriinrange(0,len(remove_data)): ifremove_data.iloc[i,7]=='成功': phone=remove_data.iloc[i,3] remove_phone.append(phone) #删除满足条件数据 foriinrange(0,len(remove_phone)): ex_list.remove(remove_phone[i]) #将剔除后的数据赋值到new_data new_data=data[data.iloc[:,1].isin(ex_list)] #导出excel new_data.to_excel(outputfile)
当然,像这种对excel的剔除数据也可以直接再excel中实现,比如我们先对excel2和excel1都按某一唯一字段进行排序,然后将excel2中需要筛选的结果复制在Excel1中,直接在excel1中根据该字段进行排序。
注意:但是这种方法有一个缺陷是,如果Excel2中的数据并不是完整的,那排序下来也会和excel1不一致。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。