python實現比較兩份Excel資料差異

2021-09-02 18:26:59 字數 1536 閱讀 9519

知識點涉及:

1,讀取excel文件資料

2,資料編碼格式處理

3,find與rfind函式區別

4,檢索關鍵字元並擷取

5,查詢關鍵字元並替換

6,集合,差集

實現**如下:

import xlrd

l_p=

l_q=

l_q1=

l_p1=

#舊的乙份文件

filenameold='vaccine_patient.xlsx'

#新的乙份文件

filenamenew='vaccine-1.3.1.xlsx'

date2=xlrd.open_workbook(filenameold)

date1=xlrd.open_workbook(filenamenew)

#根據標籤名稱找到目標頁

sheet1=date2.sheet_by_name('input')

sheet2=date1.sheet_by_name('sheet0')

#定義文件中的資料行數

row_num1=sheet1.nrows

row_num2=sheet2.nrows

for i in range (1,row_num1):

#讀取指定位置資料內容,指定編碼utf-8

value1=sheet1.cell_value(i,4).encode('utf-8')

temp=value1.find(b"?",0)

if temp > -1:

#如果包含「?」則擷取找到的位置開始,到尾部截掉,解碼成str

tone=value1[0:temp].decode('ascii')

#查詢關鍵字元「/vaccine/api/」替換為空

value11=tone.replace('/vaccine/api/','')

#格式化後的資料放入的l_p1集合中

else :

value12=value1.decode('ascii').replace('/vaccine/api/','')

for j in range (0,row_num2):

value2=sheet2.cell_value(j,4).encode('utf-8')

temp=value2.find(b"?",0)

if temp >-1:

tone2=value2[0:temp].decode('ascii')

value22=tone2.replace('/api/','')

else:

value2=value2.decode('ascii').replace('/api/','')

# rust=list(set(l_p).difference(set(l_q)))

#拿l_q1去和l_p1去比較,得出差集,並列印出來

rust1=list(set(l_q1).difference(set(l_p1)))

for ac in rust1:

print(ac)

兩份檔案的比較

一 transactionproxyfactorybean lazy init true class org.springframework.transaction.interceptor.transactionproxyfactorybean transactionmanager transact...

比較幸運的收到了兩份offer

好久沒來更新部落格了,最近一直在忙著準備校園招聘,關於考研和工作的問題上也最終選定了先去工作,多積累些工作經驗,找個好點的平台去發展一下,在it技術類專業中,大學畢業要麼出國,要麼去工作,這兩種選擇比較好,國內的科研環境只有頂尖學校才比較好,考不上清華,中科院還是去工作吧,只要有平台,在哪學都一樣,...

我前期的兩份 外快 之路

許多讀者朋友對我以前所從事的兼職工作 廣東人通常稱之為 炒更 通常是稱之為 外快 比較感興趣,大家都想效仿我的一些作法利用業餘時間賺些外快,彌補一下工資的不足。其實對於專業網管來說,有許多外快工作是可選的,而且非常有效。做得好,每月花幾天時間所得到的收入可能要遠高於正式上班的工資。下面是我早期的兩份...