東洋経済オンラインとは
キャリア・教育

Pythonで不統一なExcelファイル繋ぐワザの神髄 シンプルな文法で書くプログラミングで効率化

7分で読める
  • 伊沢 剛 ITストラテジスト教育系Youtuber
2/4 PAGES
3/4 PAGES
4/4 PAGES

「読み込み設定.xlsx」にそろえて列順を変える

では、16~22行目に書かれている、いちばん内側のループを見ていきましょう。

『Excel、データ整理&分析、画像処理の自動化ワザを完全網羅! 超速Python仕事術大全』(宝島社)。書影をクリックするとアマゾンのサイトにジャンプします。紙版はこちら、電子版はこちら (本書では今回紹介したサンプルプログラムを配布。Pythonの開発環境構築についても説明しているので、すぐにダウンロードして実行することが可能です)

ここでは「読み込み設定.xlsx」のデータを列ごとに分割し、それに対して繰り返し処理をしています。そのため、列の順番は「読み込み設定.xlsx」にそろうことになります。

ただし、支店のデータの中に「読み込み設定.xlsx」の列に相当するデータがない場合もありえます。具体的には、「横浜支店.xlsx」にはパスワード列がありません。そのため、該当する列があるかどうかを18行目のif文とin演算子でチェックし、ある場合は2重リストに追加し、ない場合は空文字列("")を追加しています。

2重リストにデータを追加する19行目の部分も要注目です。変数colには「読み込み設定.xlsx」から取り出した列名、変数rowには各支店のExcelファイルから取り出した1行分のデータ(Seriesオブジェクト)が入っています。

そこで「row[col]」と書くと、支店データの中から特定の列名のデータを取り出すことができるのです。あとは2重リストにappendメソッドで追加するだけです。

ちなみに、書き込み先の「統合表.xlsx」をExcelで開いた状態でプログラムを実行すると、「PermissionError(ファイルのアクセス許可のエラー)」が発生します。ファイルを閉じてから実行するよう注意してください。

まずは実行してみよう

Pythonに興味があっても初めてだという方は、まず今回紹介したプログラムを動かして、Pythonの便利さを体感してみるといいでしょう。

次に、プログラムの説明を読みながら中身を眺めてみて「この行は何をしているか?」をなんとなく理解したうえで、ご自身の仕事を効率化するものに書き換えていくことをおすすめします。

次回はWebページから自動で情報を取り出してExcelファイルに表示する方法を紹介します。

こちらの記事もおすすめ

あなたにおすすめ

キャリア・教育

人気記事 HOT

※過去1週間以内の記事が対象