python 如何快速找出兩個(gè)電子表中數(shù)據(jù)的差異
最近剛接觸python,找點(diǎn)小任務(wù)來(lái)練練手,希望自己在實(shí)踐中不斷的鍛煉自己解決問(wèn)題的能力。
公司里會(huì)有這樣的場(chǎng)景:有一張電子表格的內(nèi)容由兩三個(gè)部門或者更多的部門用到,這些員工會(huì)在維護(hù)這些表格中不定期的跟新一些自己部門的數(shù)據(jù),時(shí)間久了,大家的數(shù)據(jù)就開(kāi)始打架了,非常不利于管理。怎樣快速找到兩個(gè)或者多個(gè)電子表格中數(shù)據(jù)的差異呢?
解決辦法:
1. Excel自帶的方法(有興趣的自行百度)
2. python 寫一個(gè)小腳本
#!/usr/bin/env python # -*- coding: utf-8 -*- #導(dǎo)入模塊 openpyxl import openpyxl from openpyxl.styles import PatternFill from openpyxl.styles import colors from openpyxl.styles import Font, Color #讀取excel文件 #括號(hào)中的字符串為你要比較的兩個(gè)excel的路徑,注意用“/” wb_a = openpyxl.load_workbook('d:/BAKFILE/d046532/Desktop/check excel/test.xlsx') wb_b = openpyxl.load_workbook('d:/BAKFILE/d046532/Desktop/check excel/test2.xlsx') #定義一個(gè)方法來(lái)獲取表格中某一列的內(nèi)容,返回一個(gè)列表 #在這里,我的表格中:IP是具有唯一性的,所以我用它來(lái)區(qū)分?jǐn)?shù)據(jù)的差異,而IP這一列在我的表格中是第“G”列 def getIP(wb): sheet = wb.get_active_sheet() ip = [] for cellobj in sheet['G']: ip.append(cellobj.value) return ip #獲得ip列表 ip_a = getIP(wb_a) ip_b = getIP(wb_b) #將兩個(gè)列表轉(zhuǎn)換成集合 aa = set(ip_a) bb = set(ip_b) #找出兩個(gè)列表的不同行,并轉(zhuǎn)換成列表 difference = list(aa ^ bb) #打印出列表中的元素 #到這一步,兩個(gè)表格中不同的數(shù)據(jù)已經(jīng)被找出來(lái)了 for i in difference: print (i) #將不同行高亮顯示 print ("開(kāi)始第一張表" + "----" *10) a = wb_a.get_active_sheet()['G'] for cellobj in a: if cellobj.value in difference: print (cellobj.value) cellobj.font = Font(color=colors.BLACK, italic=True ,bold = True) cellobj.fill = PatternFill("solid", fgColor="DDDDDD") print ("開(kāi)始第二張表" + "----" *10) b = wb_b.get_active_sheet()['G'] for cellobj in b: if cellobj.value in difference: print (cellobj.value) cellobj.font = Font(color=colors.BLACK, italic=True ,bold = True) cellobj.fill = PatternFill("solid", fgColor="DDDDDD") wb_a.save('d:/BAKFILE/d046532/Desktop/a.xlsx') wb_b.save('d:/BAKFILE/d046532/Desktop/b.xlsx')
這樣,就會(huì)保存兩個(gè)excel的副本,并在這個(gè)副本中用單元格填充色和字體顏色標(biāo)注出兩個(gè)表格中不同的數(shù)據(jù)差異
未解決:
1. 怎樣將這些有差異的數(shù)據(jù)補(bǔ)充到一張表里,形成一個(gè)全集表
2. 怎么優(yōu)化精簡(jiǎn)代碼
以上這篇python 如何快速找出兩個(gè)電子表中數(shù)據(jù)的差異就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python接口測(cè)試get請(qǐng)求過(guò)程詳解
這篇文章主要介紹了python接口測(cè)試 get請(qǐng)求過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02Python批量對(duì)word文檔進(jìn)行操作步驟
這篇文章主要介紹了Python批量對(duì)word文檔進(jìn)行操作,一步步逐步完成創(chuàng)建文檔,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-02-02python實(shí)現(xiàn)網(wǎng)上購(gòu)物系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)網(wǎng)上購(gòu)物系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06Python實(shí)現(xiàn)PPT幻燈片的添加、刪除或隱藏操作
PowerPoint文檔是商務(wù)、教育、創(chuàng)意等各領(lǐng)域常見(jiàn)的用于展示、教育和傳達(dá)信息的格式,在制作PPT演示文稿時(shí),靈活地操作幻燈片是提高演示效果、優(yōu)化內(nèi)容組織的關(guān)鍵步驟,本文給大家介紹了Python 操作PPT幻燈片- 添加、刪除、或隱藏幻燈片,需要的朋友可以參考下2024-08-08python tkinter實(shí)現(xiàn)定時(shí)關(guān)機(jī)
這篇文章主要為大家詳細(xì)介紹了python tkinter實(shí)現(xiàn)定時(shí)關(guān)機(jī),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04Python?DPED機(jī)器學(xué)習(xí)之實(shí)現(xiàn)照片美化
本篇文章主要介紹了利用Python中的DPED工具實(shí)現(xiàn)照片一鍵美化,可以實(shí)現(xiàn)照片亮度提高和色彩鮮明度提高,代碼簡(jiǎn)潔易懂,具有一定學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下2021-11-11Django中日期處理注意事項(xiàng)與自定義時(shí)間格式轉(zhuǎn)換詳解
這篇文章主要給大家介紹了關(guān)于Django中日期處理注意事項(xiàng)與自定義時(shí)間格式轉(zhuǎn)換的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08python gensim使用word2vec詞向量處理中文語(yǔ)料的方法
這篇文章主要介紹了python gensim使用word2vec詞向量處理中文語(yǔ)料的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07