前言
學習Python的過程中,我們會遇到Excel的各種問題。下面這篇文章主要給大家介紹了關于python對excel進行數據剔除操作的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。
Python解析Excel時需要安裝兩個包,分別是xlrd(讀excel)和xlwt(寫excel),安裝方法如下:
pip install xlrdpip install xlwt
需求分析:
判斷excel2表中的某個唯一字段是否滿足條件,如果滿足條件,就在excel1中進行查詢,若存在excel中,就將該數據進行剔除。
python腳本的實現:
from __future__ import divisionimport pandas as pd#指定文件的路徑imputfile= 'C://Users//Administrator//Desktop//excel1.xlsx' #原始表excel1imputfile1= 'C://Users//Administrator//Desktop//excel2.xls' #excel2outputfile = 'C://Users//Administrator//Desktop//result.xlsx' #結果#讀取excel1的數據到datadata = pd.read_excel(imputfile,encoding='utf-8') ex_list = list(data.iloc[:,1]) #將需要比對的字段轉換為list形式#讀取excel2的數據到remove_dataremove_data = pd.read_excel(imputfile1,encoding='utf-8')#找出excel2中需要篩選的字段滿足的條件。如我這邊需要滿足的條件是:remove_data.iloc[i,7] =='成功'remove_phone=[] for i in range(0,len(remove_data)): if remove_data.iloc[i,7] =='成功': phone = remove_data.iloc[i,3] remove_phone.append(phone)#刪除滿足條件數據 for i in range(0,len(remove_phone)): ex_list.remove(remove_phone[i])#將剔除后的數據賦值到new_datanew_data=data[data.iloc[:,1].isin(ex_list)]#導出excel new_data.to_excel(outputfile)
當然,像這種對excel的剔除數據也可以直接再excel中實現,比如我們先對excel2和excel1都按某一唯一字段進行排序,然后將excel2中需要篩選的結果復制在Excel1中,直接在excel1中根據該字段進行排序。
注意:但是這種方法有一個缺陷是,如果Excel2中的數據并不是完整的,那排序下來也會和excel1不一致。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林站長站的支持。
新聞熱點
疑難解答