<kbd id="9plqc"><label id="9plqc"></label></kbd>

        <th id="9plqc"></th>
        1. <center id="9plqc"><video id="9plqc"></video></center>
          <sub id="9plqc"><form id="9plqc"><pre id="9plqc"></pre></form></sub>
          <nav id="9plqc"><form id="9plqc"><legend id="9plqc"></legend></form></nav>
          超實(shí)用!使用Python快速對比兩個(gè)Excel表格之間的差異 您所在的位置:網(wǎng)站首頁 屬猴的跟屬蛇 超實(shí)用!使用Python快速對比兩個(gè)Excel表格之間的差異

          超實(shí)用!使用Python快速對比兩個(gè)Excel表格之間的差異

          2024-06-10 03:09| 來源: 網(wǎng)絡(luò)整理| 查看: 265

          這是「活用數(shù)據(jù)」的第 11 篇原創(chuàng)文章

          主要介紹如何通過DeepDiff實(shí)現(xiàn)兩個(gè)Excel文件數(shù)據(jù)的快速對比。

          對于日常辦公中需要處理數(shù)據(jù)的同學(xué)來說,有時(shí)候需要對比兩個(gè)Excel表格(或者是數(shù)據(jù)庫)的數(shù)據(jù)是否完全相同。

          對于簡單少量的數(shù)據(jù),我們當(dāng)然可以人工肉眼對比,但是如果數(shù)據(jù)量一大,那么最好還是借助工具實(shí)現(xiàn)。

          這篇文章主要通過使用DeepDiff庫,介紹了一種簡單地對比兩個(gè)Excel文件是否完全相同的方法。

          首先,我們需要下載DeepDiff庫:

          pip install deepdiff

          接著再進(jìn)行導(dǎo)入:

          from deepdiff import DeepDiff DeepDiff簡單使用

          接下來我們創(chuàng)建4個(gè)簡單的Excel數(shù)據(jù),方便后續(xù)對比,通過pandas讀取數(shù)據(jù):

          import pandas as pd df1 = pd.read_excel('data1.xlsx') df2 = pd.read_excel('data2.xlsx') df3 = pd.read_excel('data3.xlsx') df4 = pd.read_excel('data4.xlsx')

          4個(gè)Excel表格數(shù)據(jù)如下: data1

          data2

          data3

          data4

          上面4個(gè)簡單示例數(shù)據(jù)中,我們可以非常明顯地看出來,data1跟data2時(shí)完全一致的,而data3跟data4只是數(shù)據(jù)的行順序跟列順序不一致,其本質(zhì)上還是一致的,在我們實(shí)際工作中,我們希望的出來的結(jié)果也是data3跟data4是一致的。

          首先,我們直接對兩個(gè)不一樣的DataFrame進(jìn)行對比:

          對比結(jié)果為{},這在DeepDiff中是表示沒有差異的意思,但是,這個(gè)結(jié)果顯然不符合實(shí)際,因?yàn)槲覀兊膁ata1跟data3其實(shí)是完全不一樣的才對。

          這是因?yàn)镈eepDiff并不支持DataFrame對象的比較。

          為了能夠使用DeepDiff,我們可以把DataFrame對象轉(zhuǎn)成字典對象。

          可以看到,轉(zhuǎn)成字典之后我們成功地對data1和data2進(jìn)行比較,并給出了正確的結(jié)果:

          為了驗(yàn)證,我們再拿data1和data3進(jìn)行比較:

          很明顯,這兩個(gè)對象是有區(qū)別的,沒有任何問題。

          接下來進(jìn)入我們的重頭戲,對比data3和data4,為了對比這兩個(gè)對象,我們可以先把數(shù)據(jù)轉(zhuǎn)成列表,然后再設(shè)置DeepDiff中的ignore_order參數(shù)忽略字典元素的順序:

          可以看到,結(jié)果非常簡單完美地實(shí)現(xiàn)了我們的對比需求。

          本文小結(jié)

          本文只是對DeepDiff的使用場景進(jìn)行了簡單介紹,實(shí)際上基于這個(gè)Python庫,我們還可以實(shí)現(xiàn)諸如JSON文件對比、數(shù)據(jù)庫數(shù)據(jù)對比等拓展作。

          本文完整示例代碼及文件可關(guān)注公眾號,回復(fù)“python”獲取。



          【本文地址】

          公司簡介

          聯(lián)系我們

          今日新聞

          推薦新聞

          專題文章
            CopyRight 2018-2019 實(shí)驗(yàn)室設(shè)備網(wǎng) 版權(quán)所有
            黄色免费网站在线看,韩国精品在线观看,韩国美女一区二区,99国产热 湘潭县| 沧州市| 大悟县| 漾濞| 梅河口市| 西盟| 丰顺县| 中方县| 漳州市| 吐鲁番市| 漯河市| 南投市| 徐州市| 新丰县| 龙江县| 柳河县| 禹州市| 忻城县| 尼玛县| 苗栗市| 陵水| 阳原县| 建平县| 杭锦后旗| 海口市| 龙南县| 龙泉市| 枞阳县| 余姚市| 沁水县| 札达县| 旬邑县| 安福县| 富源县| 新余市| 响水县| 德阳市| 哈尔滨市| 商南县| 湖州市| 吉水县| http://444 http://444 http://444 http://444 http://444 http://444