AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

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

Python兩個Excel多Sheet數(shù)據(jù)對比

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

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

5FX28資訊網(wǎng)——每日最新資訊28at.com

第一步:安裝必要的庫

確保你的Python環(huán)境中已安裝pandas和openpyxl。如果沒有安裝,可以通過以下命令安裝:5FX28資訊網(wǎng)——每日最新資訊28at.com

5FX28資訊網(wǎng)——每日最新資訊28at.com

pip install pandas openpyxl

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

使用pandas.ExcelFile或pandas.read_excel直接讀取多個Sheet的數(shù)據(jù)。5FX28資訊網(wǎng)——每日最新資訊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}

第三步:對比數(shù)據(jù)

對比兩個Excel文件中相同名稱的Sheet。我們可以逐個Sheet進行對比,尋找不一致的數(shù)據(jù)行。5FX28資訊網(wǎng)——每日最新資訊28at.com

# 創(chuàng)建一個空的字典來存儲對比結(jié)果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的行,表示只在左側(cè)或右側(cè)數(shù)據(jù)集中存在。此外,還可以通過left和right后綴訪問原始數(shù)據(jù)列。5FX28資訊網(wǎng)——每日最新資訊28at.com

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

第五步:保存對比結(jié)果

將對比結(jié)果保存到新的Excel文件中,便于后續(xù)分析或報告。5FX28資訊網(wǎng)——每日最新資訊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)

完整代碼示例5FX28資訊網(wǎng)——每日最新資訊28at.com

下面是將上述步驟整合在一起的完整代碼示例:5FX28資訊網(wǎng)——每日最新資訊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}# 創(chuàng)建一個空的字典來存儲對比結(jié)果comparison_results = {}# 對比數(shù)據(jù)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']# 保存對比結(jié)果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的數(shù)據(jù),找出差異并保存結(jié)果。這種方法特別適用于財務審計、數(shù)據(jù)清洗或任何需要跨數(shù)據(jù)集一致性檢查的場景。5FX28資訊網(wǎng)——每日最新資訊28at.com

希望這篇指南能夠幫助你在Python中處理復雜的Excel數(shù)據(jù)對比任務。5FX28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-101107-0.htmlPython兩個Excel多Sheet數(shù)據(jù)對比

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

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

下一篇: 一圖看懂八大擴展系統(tǒng)的方法

標簽:
  • 熱門焦點
  • 帥氣純真少年!日本最帥初中生選美冠軍出爐

    日本第一帥哥初一生選美大賽冠軍現(xiàn)已正式出爐,冠軍是來自千葉縣的宗田悠良。日本一直熱衷于各種選美大賽,從“最美JK”起到“最美女星&r
  • 六大權(quán)益!華為8月服務日開啟:手機免費貼膜、維修免人工費

    8月5日消息,一年一度的華為開發(fā)者大會2023(Together)日前在松山湖拉開帷幕,與此同時,華為8月服務日也式開啟,到店可享六大專屬權(quán)益。華為用戶可在華為商城Ap
  • Automa-通過連接塊來自動化你的瀏覽器

    1、前言通過瀏覽器插件可實現(xiàn)自動化腳本的錄制與編寫,具有代表性的工具就是:Selenium IDE、Katalon Recorder,對于簡單的業(yè)務來說可快速實現(xiàn)自動化的上手工作。Selenium IDEKat
  • K8S | Service服務發(fā)現(xiàn)

    一、背景在微服務架構(gòu)中,這里以開發(fā)環(huán)境「Dev」為基礎來描述,在K8S集群中通常會開放:路由網(wǎng)關(guān)、注冊中心、配置中心等相關(guān)服務,可以被集群外部訪問;圖片對于測試「Tes」環(huán)境或者
  • 只需五步,使用start.spring.io快速入門Spring編程

    步驟1打開https://start.spring.io/,按照屏幕截圖中的內(nèi)容創(chuàng)建項目,添加 Spring Web 依賴項,并單擊“生成”按鈕下載 .zip 文件,為下一步做準備。請在進入步驟2之前進行解壓。圖
  • JVM優(yōu)化:實戰(zhàn)OutOfMemoryError異常

    一、Java堆溢出堆內(nèi)存中主要存放對象、數(shù)組等,只要不斷地創(chuàng)建這些對象,并且保證 GC Roots 到對象之間有可達路徑來避免垃 圾收集回收機制清除這些對象,當這些對象所占空間超過
  • 2天漲粉255萬,又一賽道在抖音爆火

    來源:運營研究社作者 | 張知白編輯 | 楊佩汶設計 | 晏談夢潔這個暑期,旅游賽道徹底火了:有的「地方」火了——貴州村超旅游收入 1 個月超過 12 億;有的「博主」火了&m
  • 認真聊聊東方甄選:如何告別低垂的果實

    來源:山核桃作者:財經(jīng)無忌爆火一年后,俞敏洪和他的東方甄選依舊是頗受外界關(guān)心的“網(wǎng)紅”。7月5日至9日,為期5天的東方甄選“甘肅行”首次在自有App內(nèi)直播,
  • AI芯片初創(chuàng)公司Tenstorrent獲三星和現(xiàn)代1億美元投資

    Tenstorrent是一家由芯片行業(yè)資深人士Jim Keller領(lǐng)導的加拿大初創(chuàng)公司,專注于開發(fā)人工智能芯片,該公司周三表示,已經(jīng)從現(xiàn)代汽車集團和三星投資基金等
Top