成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python兩個Excel多Sheet數據對比

開發 前端
在數據處理與分析中,經常需要比較來自不同來源的數據集,特別是在處理涉及多個Excel工作簿和工作表的場景時。

在數據處理與分析中,經常需要比較來自不同來源的數據集,特別是在處理涉及多個Excel工作簿和工作表的場景時。Python的Pandas庫提供了強大的工具,可以幫助我們高效地完成這一任務。下面,我們將一步步引導你如何使用Python對比兩個Excel文件中多個Sheet的數據。

第一步:安裝必要的庫

確保你的Python環境中已安裝pandas和openpyxl。如果沒有安裝,可以通過以下命令安裝:

pip install pandas openpyxl

第二步:讀取Excel文件中的多個Sheet

使用pandas.ExcelFile或pandas.read_excel直接讀取多個Sheet的數據。

import pandas as pd
# 讀取第一個Excel文件的所有Sheet
xlsx1 = pd.ExcelFile('file1.xlsx')
sheets1 = {sheet_name: xlsx1.parse(sheet_name) for sheet_name in xlsx1.sheet_names}
# 讀取第二個Excel文件的所有Sheet
xlsx2 = pd.ExcelFile('file2.xlsx')
sheets2 = {sheet_name: xlsx2.parse(sheet_name) for sheet_name in xlsx2.sheet_names}

第三步:對比數據

對比兩個Excel文件中相同名稱的Sheet。我們可以逐個Sheet進行對比,尋找不一致的數據行。


# 創建一個空的字典來存儲對比結果
comparison_results = {}
for sheet_name in sheets1.keys():
    if sheet_name in sheets2:
        # 如果兩個文件都有相同的Sheet,則進行對比
        df1 = sheets1[sheet_name]
        df2 = sheets2[sheet_name]
        # 比較兩個DataFrame
        comparison = df1.merge(df2, how='outer', indicator=True)
        comparison_results[sheet_name] = comparison[comparison['_merge'] != 'both']

第四步:分析差異

上述對比會返回一個新DataFrame,其中包含標記為left_only或right_only的行,表示只在左側或右側數據集中存在。此外,還可以通過left和right后綴訪問原始數據列。


# 分析差異
for sheet_name, result in comparison_results.items():
    if not result.empty:
        print(f"Differences found in '{sheet_name}':")
        print(result)

第五步:保存對比結果

將對比結果保存到新的Excel文件中,便于后續分析或報告。


with pd.ExcelWriter('comparison_results.xlsx') as writer:
    for sheet_name, result in comparison_results.items():
        if not result.empty:
            result.to_excel(writer, sheet_name=sheet_name, index=False)

完整代碼示例

下面是將上述步驟整合在一起的完整代碼示例:


import pandas as pd
# 讀取Excel文件
xlsx1 = pd.ExcelFile('file1.xlsx')
xlsx2 = pd.ExcelFile('file2.xlsx')
# 讀取所有Sheet
sheets1 = {sheet_name: xlsx1.parse(sheet_name) for sheet_name in xlsx1.sheet_names}
sheets2 = {sheet_name: xlsx2.parse(sheet_name) for sheet_name in xlsx2.sheet_names}
# 創建一個空的字典來存儲對比結果
comparison_results = {}
# 對比數據
for sheet_name in sheets1.keys():
    if sheet_name in sheets2:
        df1 = sheets1[sheet_name]
        df2 = sheets2[sheet_name]
        comparison = df1.merge(df2, how='outer', indicator=True)
        comparison_results[sheet_name] = comparison[comparison['_merge'] != 'both']
# 保存對比結果
with pd.ExcelWriter('comparison_results.xlsx') as writer:
    for sheet_name, result in comparison_results.items():
        if not result.empty:
            result.to_excel(writer, sheet_name=sheet_name, index=False)

通過上述步驟,你可以有效地對比兩個Excel文件中多個Sheet的數據,找出差異并保存結果。這種方法特別適用于財務審計、數據清洗或任何需要跨數據集一致性檢查的場景。

希望這篇指南能夠幫助你在Python中處理復雜的Excel數據對比任務。

責任編輯:華軒 來源: 測試開發學習交流
相關推薦

2021-01-14 10:24:55

壓縮集合方式

2021-02-27 09:30:16

PythonExcelSheet

2021-03-10 09:38:44

JeecgBoot 單表數據sheet實例

2022-06-17 09:46:51

Chrome 102Chrome瀏覽器

2016-10-25 13:58:36

數據圖表化大數據

2020-11-13 07:16:09

線程互斥鎖死循環

2019-08-28 10:00:34

Python測試工具命令

2011-09-20 15:19:15

Python

2020-04-17 10:13:51

Python開發工具

2020-10-25 08:47:36

Python有序字典

2010-09-10 15:26:05

SOAP封裝

2009-07-16 10:39:00

SwingUtilit

2022-03-07 13:58:30

JavaScript原始數據前端

2011-04-15 10:21:07

Oracle數據庫運算

2021-04-06 11:44:44

數據平臺數據科學數據倉庫

2015-11-12 10:32:06

數據中心數據中心優化數據中心整合

2010-04-06 18:04:09

Oracle數據庫

2022-07-05 15:15:11

Python日期命令

2011-06-29 09:16:40

Python

2010-03-18 14:22:46

Python數據庫連接
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线观看视频一区二区三区 | 午夜免费视频 | 男女污污网站 | 欧美乱码精品一区二区三区 | 国产一区91精品张津瑜 | 国产毛片在线看 | 久草成人| 麻豆av一区二区三区久久 | 日韩欧美在线观看 | 欧美成人一区二区 | 欧美在线视频一区二区 | 国产高清免费视频 | 成人精品一区二区三区 | 狠狠伊人| 成人免费激情视频 | 久久久青草婷婷精品综合日韩 | 成人国产免费视频 | 精品久久久久久18免费网站 | 在线看片网站 | 欧美激情精品久久久久久变态 | 成人欧美一区二区三区在线播放 | 久久国产一区二区三区 | 北条麻妃一区二区三区在线视频 | 国产9 9在线 | 中文 | 久久精品国产一区二区电影 | 国产成人免费视频网站视频社区 | 亚洲午夜一区二区 | 中国一级毛片免费 | 丁香综合 | 国产一区二区免费电影 | 国产激情视频在线 | 日本不卡在线观看 | 久久99精品视频 | 免费久久99精品国产婷婷六月 | 成人一级视频在线观看 | 日韩黄| 欧美阿v | 亚洲一区综合 | av免费网站在线观看 | 亚洲国产成人一区二区 | 青青久久 |