【Python】エクセルファイルをとにかく結合したい(pandas.merge)


エクセルファイルを結合する

ExcelとかCSVとかをそれぞれの特定の列を基準に結合・連結したいときによくつかった流れを関数にした。

流れとしては

  1. pandas.DataFrameとして結合したい2つのExcelファイルを読み込む
  2. pandas.merge( )で結合
  3. 結合されたデータをExcelファイルとして保存
  4. 結合されたデータを返す

以下に引数の概要ととコードをのせておく。

variable explaination
a 結合したいファイルで左におきたいやつ
b 結合したいファイルで右におきたいやつ
left_on aの基準にしたい列の列名
right_on bの基準にしたい列の列名
how inner:共通するものだけ残して結合
left:aは絶対残って、bのうち共通するものだけ残す
right:bは絶対残って、aのうち共通するものだけ残す
outer:全部残す
where_name 結合したファイルの保存先の絶対パス
in
import pandas as pd
def merge_2Excelfiles(a,b,left_on,right_on,how,where_name):
    df_a = pd.read_excel(a)
    df_b = pd.read_excel(b)
    c = pd.merge(df_a, df_b, left_on=left_on, right_on=right_on, how=how,)
    c.to_excel(where_name)
    return c