Jupyter notebook(Python3)を使ってみようを使ってみようと思っても慣れていないうちは、どうしても処理に躓いてしまうものです。
例えば、Pythonのpandas機能にて同じフォルダ内の複数のファイルすべてを結合するためにはどのような処理を行えばいいのか理解していますか。
ここでは、この同じフォルダに含まれる複数のファイルを一括で結合する方法について解説していきます。
Pandasにて複数のファイルを結合する方法(行方向に)【同じフォルダのcsvやexcelファイル】
以下のような同じフォルダ内に複数のcsvやexcelデータがあり、これらを行方向(縦方向)に一括に結合させたいような状況に出会うことがありますよね。
このように
・同じディレクトリ内(フォルダ内)
・同じファイル形式(今回はcsv)
であれば、一括で結合させることができます(例では2つのみですが、3つ以上でも問題ないです)。
この時、フォルダ内のデータを一括で読み込むglob関数を使うといいです。サンプルコードは以下の通りで、定番の処理の一つともいえます。
import glob
csv_files = glob.glob(‘*.csv’)
list = []
for file in csv_files:
list.append(pd.read_csv(file))
df = pd.concat(list)
df.to_csv(“total.csv”,index=False)
import pandas as pd
import glob
csv_files = glob.glob(‘*.csv’)
list = []
list = []
for file in csv_files:
list.append(pd.read_csv(file))
df = pd.concat(list)
df.to_csv(“total.csv”,index=False)
Pandas(Python)にて複数のファイルを結合する際の注意点(行方向に)【同じフォルダのcsvやexcelファイル】
なお、pandasにて上述のよう縦方向(行方向)に複数のファイルを結合させていく場合、ヘッダー名を統一させておくとうまくいきます。
また列数もそろえておく必要があることに注意しましょう。行数はばらばらで問題ないです。
私の場合、熟練のPython使用者ではないため、これをしておかずになかなか上手く結合できなかった経緯があるため記載させていただきます。
以下のようなイメージでpandasでの複数ファイルの結合が行われていると捉えておきましょう。
まとめ Pandasで複数のファイルを結合する方法【同じフォルダ内のcsvやexcelファイル等】
ここでは、jupyternotebook(python3)のpandas機能によって、同じディレクトリ内のcsv等の複数のファイルを結合させる方法について解説しました。
ポイントは
・glob関数
・listに追加
・concatで結合
と理解しておくといいです。
各種対処方法を理解して、pandas(python)の使い方をマスターしていきましょう。
コメント