自動合併Excel的4種方法,pandas自動化辦公,YYDS

語言: CN / TW / HK

大家好,這裡是程式設計師晚楓。

上次我們通過閱讀原始碼,分享了:官方推薦:6種Pandas讀取Excel的方法,太方便了~

今天我們繼續閱讀原始碼,學一個實用技巧:如何2個excel裡的合併資料?

每個方法都配了一張合併效果圖,建議小白直接看圖,有不理解的再配合文字閱讀。

以下方法,按照從易到難排序。有些方法文字描述起來比較抽象,但看圖一定可以秒懂~

一、原始碼解析

通過研究原始碼可以發現,除去被淘汰的append方法,目前通用的合併方法一共有4個,

  • concat、merge,來自原始碼的./pandas/core/reshape資料夾,是pandas本身可以呼叫的;
  • join、combine,來自原始碼的./pandas/core/frame.py檔案,是隻能由dataframe呼叫的。

每種方法都有複雜的用法,本文主要是入門引導性說明。

所以每種方法只給大家介紹一個最容易理解的效果,如果想深入學習,可以在評論區進行討論~

二、方法說明

1、concat

對2個有著相同列名的excel表格,進行上下拼接式的合併。

應用場景

當我想把自己所有平臺賬號的基本資訊,彙總到一個表格裡。如下圖所示,一行程式碼完成合並。👇

append(已經被淘汰了!!)

這個方法很多文章都在介紹。

其實它和concat效果一模一樣,而且pandas官方在原始碼裡明確提示了:這個方法即將在新的pandas版本里淘汰,不要使用了,請直接使用concat方法。

FutureWarning: The frame.append method is deprecated and will be removed from pandas in a future version. Use pandas.concat instead.

下次再看到有介紹pandas用append方法進行合併的文章,你知道該怎麼做了吧?

2、merge

merge合併稍微複雜一點。

我們舉個簡單的例子:

在同一行裡,羅列出我所有平臺的關注數,如下圖所示。👇

merge更關心列之間的合併。

3、join

如上文所述,join是對資料的精細化操作。

例如我有的檔案有2行,有的檔案有1行,但是他們的格式是一樣的,我想對它們進行橫向的拼接。有些檔案沒有第2行的情況下,自動填充空白,方便我的後續操作。如下圖所示👇

join更關心行之間的合併。

4、combine

這是一個最複雜的方法,因為它需要在合併時進行計算。

例子

我想看一下哪天的微博瀏覽量最少,於是在合併的同時,進行了大小比較的計算。如下圖所示👇combine在合併的同時,對資料列進行了比較、計算。

三、寫在最後

以上就是使用pandas進行合併的4個常用方法了。

近期還會發布若干個1行程式碼合併Excel的極簡操作,大家可以關注一下我,收到最新訊息。