複数のExcelワークシートを1つのPandasにおけるDataFrameに結合する

複数のExcelワークシートを1つのPandasにおけるDataFrameに結合してみます。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■Excelファイルを用意する

複数のExcelワークシートを1つのPandasにおけるDataFrameに結合する前に、まずはExcelファイルを用意します。

今回はGoogleスプレッドシートで、上記のデータ(test1,test2)を作成し、EXCELファイル(xlsx形式)で保存します。

保存後、「C:\Users\user\test(フォルダパス)」内にtest1.xlsxと、test2.xlsxの2つのファイルを置きました。

■1つのPandasにおけるDataFrameに結合する

Excelファイルが用意できましたので、1つのPandasにおけるDataFrameに結合するスクリプトを書いていきます。

■コード

import pandas as pd 

df1 = pd.read_excel(r'C:\Users\user\test\test1.xlsx')
df2 = pd.read_excel(r'C:\Users\user\test\test2.xlsx')

df = pd.concat([df1, df2])

print(df)

df.to_excel(r'C:\Users\user\test\test3.xlsx', index=False)

インポートでPandasモジュールを呼び出します。df1とdf2という変数を作成し、その中に、pd.read_excel()と記述し、今回用意したEXCELファイルを指定。指定後、EXCELファイルの中身を読み込み、格納します。

格納後、dfという変数を作成し、pd.concat()と記述し、df1とdf2という変数を結合し格納します。

結合後、結合したdfという変数をprint関数で出力してみます。

最後に、結合したdfという変数のデータをto_excel()と記述し、EXCELファイルに書き込みを行ってみます。なお、今回は、to_excel()の括弧内の第2の引数で「index=False」でインデックスはなしで書き込みを行います。

■実行

このスクリプトを「Join_to_df_p.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、今回用意した2つのEXCELファイルが結合され、print関数で出力されました。さらに、EXCELファイル(test3.xlsx)へ書き込みが行われたことを確認できました。

なお、EXCELファイルの方を確認しましたが、結合されたデータが書き込まれていることが確認できました。

コメント

タイトルとURLをコピーしました