使用Python3比較兩份Excel表格的不同


  一.前言

  由於種種原因,最近手頭上有兩份excel表格,我給兩份表格分別命名為before.xlsx和now.xlsx.

  before.xlsx是組長一開始發給我的表,我在上面做了很多筆記,但是下午他剔了十幾行又給我一個新的表格,也就是now.xlsx,這時候我就想到使用python來比較兩個表格的不同。

  二.寫代碼

  1.首先,先導入庫。(我用的是python3)

  

import xlrd
from xlwt import *

 

  2.定義函數。(根據文件名讀取Excel表格,將某一列的數據存儲到一個列表中,並返回它)

def read_excel(fileName):
    bk=xlrd.open_workbook(fileName)
    shxrange=range(bk.nsheets)
    try:
        sh=bk.sheet_by_name("Sheet1")#根據sheet1名字確定表格內容
    except:
        print ("代碼出錯")
    nrows=sh.nrows #獲取行數
    li=[]
#定義一個空列表,以存儲第二列的數據(哪一列都行,只要它具有唯一性)
    for i in range(1,nrows):
#對表格用行數進行遍歷,存儲到剛剛定義的li列表中,並返回它
        row_data=sh.row_values(i)
        value=sh.cell_value(i,1)
        li.append(value)
        return li

  3.對函數進行調用,兩個文件名得到兩個列表,對比兩個列表的不同,存儲到第三個列表中。(這個列表就是我們需要剔除的內容)

list1=list2=list3=list4=[]       
list1=read_excel('before.xlsx')
list2=read_excel('now.xlsx')
for i in list1:
    for j in list2:
        if i == j:
            list3.append(i)
 
for b in (list1 + list2):
    if b not in list3:
        list4.append(b) 
print(list3)#list3=list4,隨意打印哪一個都行

 

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM