簡體   English   中英

查找兩個Excel工作表的列之間的差異

[英]Finding the difference between the columns of two excel sheets

我有兩個都有多個工作表的Excel文件。 這兩個文件有一些共同的工作表,即它們具有相同的工作表名稱,但數據和值不同。 但是,這些同名工作表在一個文件中比其他文件具有更多的列。 我想要做的是將具有額外列的工作表中的額外列復制到缺少它們的工作表(在其他excel文件中)中。 同樣,公共列中的數據是不同的,因此我不能簡單地將較大的工作表復制到較小的工作表中。

首先閱讀兩個文件:

 v8 = pd.read_excel('Revised_V8.xlsx', sheet_name=None)
 v9 = pd.read_excel('Revised_V9.xlsx', sheet_name=None)

現在讀取兩個文件中的一張普通紙

  MAP_8 = v8['MAP']
  MAP_9 = v9['MAP']

現在MAP_8和MAP_9都是oredreddict。 我使用此行來獲取V9中多余列的名稱

  d=set(MAP_9)-set(MAP_8)

我被困在這里。 我的想法是檢索d中這些列中的數據,然后將其添加到v8數據框中

  xtracol = MAP_9[d]    # I want to return the values of those columns saved in d

我在這里收到錯誤TypeError:無法散列的類型:'設置'

抱歉,但我不知道如何在不使用set的情況下解決此問題或獲取extar列。

概括來說,假設MAP_9具有三列A,B,C,其中MAP_8僅具有兩列A,B。A和B中的數據在兩張紙之間是不同的。 我只想從MAP_9復制列C並將其添加到MAP_8,而無需更改MAP_8中的A和B的值。

這只是一個簡單的例子,但是我有十幾個常用的工作表,有些工作表比其他工作表多了十列

先感謝您

我不知道使用Python操作Excel的語法,但是我對Excel和Python相當了解。 現在,您有了另一個工作表中缺少的列的名稱,對於每一個額外的列,請使用相同的名稱向缺少它的工作表中添加一個空列。 然后將額外列中的數據加載到Python中,並將其寫入新的空列中。 要自動重復該過程,請執行一些簡單的Python循環,例如: For sheet in sheets:
MAP_8 = v8[sheet]
MAP_9 = v9[sheet]
For sheet in sheets:
MAP_8 = v8[sheet]
MAP_9 = v9[sheet]
For sheet in sheets:
MAP_8 = v8[sheet]
MAP_9 = v9[sheet]
等。如果需要,我可以在注釋中對此進行擴展。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM