日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Python兩個Excel多Sheet數據對比

來源: 責編: 時間:2024-07-16 16:58:29 619觀看
導讀在數據處理與分析中,經常需要比較來自不同來源的數據集,特別是在處理涉及多個Excel工作簿和工作表的場景時。Python的Pandas庫提供了強大的工具,可以幫助我們高效地完成這一任務。下面,我們將一步步引導你如何使用Python

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

BDO28資訊網——每日最新資訊28at.com

第一步:安裝必要的庫

確保你的Python環境中已安裝pandas和openpyxl。如果沒有安裝,可以通過以下命令安裝:BDO28資訊網——每日最新資訊28at.com

BDO28資訊網——每日最新資訊28at.com

pip install pandas openpyxl

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

使用pandas.ExcelFile或pandas.read_excel直接讀取多個Sheet的數據。BDO28資訊網——每日最新資訊28at.com

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

第三步:對比數據

對比兩個Excel文件中相同名稱的Sheet。我們可以逐個Sheet進行對比,尋找不一致的數據行。BDO28資訊網——每日最新資訊28at.com

# 創建一個空的字典來存儲對比結果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后綴訪問原始數據列。BDO28資訊網——每日最新資訊28at.com

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

第五步:保存對比結果

將對比結果保存到新的Excel文件中,便于后續分析或報告。BDO28資訊網——每日最新資訊28at.com

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)

完整代碼示例BDO28資訊網——每日最新資訊28at.com

下面是將上述步驟整合在一起的完整代碼示例:BDO28資訊網——每日最新資訊28at.com

import pandas as pd# 讀取Excel文件xlsx1 = pd.ExcelFile('file1.xlsx')xlsx2 = pd.ExcelFile('file2.xlsx')# 讀取所有Sheetsheets1 = {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的數據,找出差異并保存結果。這種方法特別適用于財務審計、數據清洗或任何需要跨數據集一致性檢查的場景。BDO28資訊網——每日最新資訊28at.com

希望這篇指南能夠幫助你在Python中處理復雜的Excel數據對比任務。BDO28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-101107-0.htmlPython兩個Excel多Sheet數據對比

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 智啟萬象|2024 Google 谷歌開發者大會邀你報名「暢享家」

下一篇: 一圖看懂八大擴展系統的方法

標簽:
  • 熱門焦點
  • K8S | Service服務發現

    一、背景在微服務架構中,這里以開發環境「Dev」為基礎來描述,在K8S集群中通常會開放:路由網關、注冊中心、配置中心等相關服務,可以被集群外部訪問;圖片對于測試「Tes」環境或者
  • 一年經驗在二線城市面試后端的經驗分享

    忠告這篇文章只適合2年內工作經驗、甚至沒有工作經驗的朋友閱讀。如果你是2年以上工作經驗,請果斷劃走,對你沒啥幫助~主人公這篇文章內容來自 「升職加薪」星球星友 的投稿,坐
  • 只需五步,使用start.spring.io快速入門Spring編程

    步驟1打開https://start.spring.io/,按照屏幕截圖中的內容創建項目,添加 Spring Web 依賴項,并單擊“生成”按鈕下載 .zip 文件,為下一步做準備。請在進入步驟2之前進行解壓。圖
  • 一文掌握 Golang 模糊測試(Fuzz Testing)

    模糊測試(Fuzz Testing)模糊測試(Fuzz Testing)是通過向目標系統提供非預期的輸入并監視異常結果來發現軟件漏洞的方法。可以用來發現應用程序、操作系統和網絡協議等中的漏洞或
  • 破圈是B站頭上的緊箍咒

    來源 | 光子星球撰文 | 吳坤諺編輯 | 吳先之每年的暑期檔都少不了瞄準追劇女孩們的古偶劇集,2021年有優酷的《山河令》,2022年有愛奇藝的《蒼蘭訣》,今年卻輪到小破站抓住了追
  • 華為Mate 60保護殼曝光:碩大后置相機模組 凸起程度有驚喜

    這段時間以來,關于華為新旗艦的爆料日漸密集。據此前多方爆料,今年華為將開始恢復一年雙旗艦戰略,除上半年推出的P60系列外,往年下半年的Mate系列也將
  • 2納米決戰2025

    集微網報道 從三強爭霸到四雄逐鹿,2nm的廝殺聲已然隱約傳來。無論是老牌勁旅臺積電、三星,還是誓言重回先進制程領先地位的英特爾,甚至初成立不久的新
  • iQOO 11S評測:行業唯一的200W標準版旗艦

    【Techweb評測】去年底,iQOO推出了“電競旗艦”iQOO 11系列,作為一款性能強機,該機不僅全球首發2K 144Hz E6全感屏,搭載了第二代驍龍8平臺及144Hz電競
  • 2022爆款:ROG魔霸6 冰川散熱系統持續護航

    喜逢開學季,各大商家開始推出自己的新產品,進行打折促銷活動。對于忠實的端游愛好者來說,能夠擁有一款夢寐以求的筆記本電腦是一件十分開心的事。但是現在的
Top 主站蜘蛛池模板: 永嘉县| 屯留县| 福泉市| 武陟县| 黎平县| 界首市| 嘉荫县| 揭东县| 文成县| 都江堰市| 宁津县| 苗栗县| 县级市| 桐梓县| 迁西县| 繁昌县| 甘德县| 昌图县| 炎陵县| 巴中市| 柯坪县| 尼木县| 班戈县| 织金县| 汤原县| 乌鲁木齐县| 亳州市| 喀喇| 永仁县| 内黄县| 高邑县| 贵阳市| 庆元县| 顺义区| 罗山县| 卢龙县| 宁德市| 民丰县| 曲周县| 湖北省| 武功县|