Python實現對比兩個Excel資料內容並標出不同
導讀 | 日常工作中需要對比兩個Excel工作表中的資料差異是很不方便的,使用python來做就比較簡單了!本文為大家介紹了python實現對比兩個Excel的資料內容並標記出不同資料的示例程式碼,需要的可以參考一下 |
日常工作中需要對比兩個Excel工作表中的資料差異是很不方便的,使用python來做就比較簡單了!
我們的思路是透過讀取兩個Excel的資料,採用逐個遍歷對比同一個位置的兩個單元格如果不是相同的則打上對應的標記,處理完成後再另存為Excel檔案。
既然是對每個單元格的操作那肯定離不開openpyxl模組,沒有的話使用pip的方式安裝一下即可。
pip install openpyxl
接著我們準備讀取兩個需要對比的Excel資料內容,這裡準備的是data1.xlsx和data2.xlsx作為源資料使用。
然後,將openpyxl模組及其所需要的樣式填充/文字設定相關的物件匯入。
# It imports the PatternFill class from the openpyxl.styles module. from openpyxl.styles import PatternFill # It imports the colors class from the openpyxl.styles module. from openpyxl.styles import colors # It imports the Font class from the openpyxl.styles module. from openpyxl.styles import Font # It imports the openpyxl module and renames it as pxl. import openpyxl as pxl
下面使用openpyxl模組的load_workbook函式讀取到Excel檔案物件,並提取兩個Excel檔案中'Sheet1'工作表作為源資料。
# It loads the data1.xlsx file and assigns it to the workbook_1 variable. workbook_1 = pxl.load_workbook(r'data1.xlsx') # It loads the data2.xlsx file and assigns it to the workbook_2 variable. workbook_2 = pxl.load_workbook(r'data2.xlsx') # Assigning the Sheet1 object to the workbook_1_sheet_1 variable. workbook_1_sheet_1 = workbook_1['Sheet1'] # It assigns the Sheet1 object to the workbook_2_sheet_1 variable. workbook_2_sheet_1 = workbook_2['Sheet1']
提取兩個工作表中的最大行和最大列,這樣即使兩個表的行數和列數不一致也能完全找出不同的單元格資料。
# A ternary operator. It is equivalent to: max_row = workbook_1_sheet_1.max_row if workbook_1_sheet_1.max_row > workbook_2_sheet_1.max_row else workbook_2_sheet_1.max_row # A ternary operator. It is equivalent to: max_column = workbook_1_sheet_1.max_column if workbook_1_sheet_1.max_column > workbook_2_sheet_1.max_column else workbook_2_sheet_1.max_column
使用for迴圈的方式分別遍歷行資料和列資料,然後判斷對應單元格的資料值是否相等,若是不相等則打上標記。
for i in range(1, (max_row + 1)): for j in range(1, (max_column + 1)): cell_1 = workbook_1_sheet_1.cell(i, j) cell_2 = workbook_2_sheet_1.cell(i, j) if cell_1.value != cell_2.value: cell_1.fill = PatternFill("solid", fgColor='FFFF00') cell_1.font = Font(color=colors.BLACK, bold=True) cell_2.fill = PatternFill("solid", fgColor='FFFF00') cell_2.font = Font(color=colors.BLACK, bold=True)
最後將對比處理完成後的工作表物件使用save函式進行儲存即可。
# It saves the workbook_1 object to the data3.xlsx file. workbook_1.save('data3.xlsx') # It saves the workbook_2 object to the data4.xlsx file. workbook_2.save('data4.xlsx')
下面是透過對比差異化處理後的data3.xlsx和data4.xlsx的工作表資料。
從結果來看,即使是兩個表的資料行數不一致也能對比出差異資料並打上了標記。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2933022/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 核對不同資料夾所含內容的差異並提取缺失內容:Python程式碼Python
- 比較兩個檔案,求出不同的內容,A-B
- Python實現簡單的excel對比工具PythonExcel
- python 兩個資料夾裡的檔名對比Python
- Python內建庫實現文字比較並返回差異位置座標Python
- Shell 命令求兩個檔案每行對比的相同內容
- Python 基於 xlsxwriter 實現百萬資料匯出 excelPythonExcel
- python讀取兩個excel資料檔案輸出整理好以後的excel資料檔案PythonExcel
- efcore 跨表查詢,實現一個介面內查詢兩個不同資料庫裡各自的表資料資料庫
- python 將一個資料夾內的不同型別檔案分別儲存到兩個不同的資料夾(json,png)Python型別JSON
- 如何比較兩個資料庫表結構的不同資料庫
- python excel 內容寫入mysqlPythonExcelMySql
- python 程式池的兩種不同實現Python
- 資料治理:資料標準管理的內容和實踐!
- 資料治理:資料標準管理的內容和實踐
- 針對不同場景的Python合併多個Excel方法PythonExcel
- excel兩列亂序姓名如何一一對應 excel 兩列資料自動配對Excel
- 檔案內容對比工具
- 文字內容差異對比
- Excel如何篩選出自己想要的資料 excel怎麼篩選出需要的內容Excel
- 實現爬取csdn個人部落格並匯出資料
- MATLAB|讀取一個檔案,並將其不同內容儲存為不同的矩陣Matlab矩陣
- Python-使用openpyxl讀取excel內容PythonExcel
- 比較兩個物件是否相同,輸出不同的屬性值(一)物件
- js 選項卡 【滑鼠懸停標題,顯示對應內容,改變其他標題顏色並隱藏內容】...JS
- python實現兩字串對映詳解Python字串
- java 如何從零實現一個資料庫差異對比工具?Java資料庫
- 教你如何運用python實現不同資料庫間資料同步功能Python資料庫
- excel怎麼篩選重複的內容 excel找出重複項並提取Excel
- poi解析Excel內容Excel
- Python實現隨機森林RF並對比自變數的重要性Python隨機森林變數
- .NET CORE下最快比較兩個檔案內容是否相同的方法
- Python的configparser模組讀取.ini檔案內容並輸出Python
- Python 利用pymysql和openpyxl操作MySQL資料庫並插入Excel資料PythonMySql資料庫Excel
- 推送開發實戰:APP如何實現跟隨使用者不同場景,實現不同的內容推薦APP
- SQL—對資料表內容的基本操作SQL
- python自動開啟瀏覽器下載zip,並且提取內容寫入excelPython瀏覽器Excel
- 避坑手冊!Python 對比兩個 datetime 大小的坑Python