Pythonで不統一なExcelファイル繋ぐワザの神髄 シンプルな文法で書くプログラミングで効率化
サンプルプログラムの全体像
②で実行した、データ構造の異なるファイルを1つにまとめるためのプログラムは次の通りです。
「長いなぁ」と思うかもしれませんが、「#」ではじまる行はプログラムではなくコメント文を表しているので、実際のプログラムはこの半分程度の行数になります。
なお、本プログラムはPython実行環境としてAnaconda(アナコンダ)の使用を前提としています。Anacondaは https://www.anaconda.com/products/individual からインストール可能です。
まず05行目で、①で作成した「読み込み設定.xlsx」を読み込み、DataFrameオブジェクト(表形式のデータ)を変数cols に入れます。
09行目ではglob関数を使い、「*支店.xlsx」というパターンに合うファイルの一覧を取得します。ただの「*.xlsx」というパターンだと「読み込み設定.xlsx」なども読み込んでしまうため、ファイル名の末尾が「支店」であることもパターンに入れています。
12行目のループで、Excelファイルからデータを1行ずつ取り出し、16行目の一番内側のループで列の順番をそろえる処理を行っています。この部分についてはこのあと説明します。
最後に、連結したファイルをDataFrameオブジェクトにし、それをto_excelメソッドで保存します。なお、今回のサンプルは名簿なので、並べ替えを行うsort_valuesメソッドを使って昇順に並べ替えています。
無料会員登録はこちら
ログインはこちら