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

拡大
縮小

「読み込み設定.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ファイルに表示する方法を紹介します。

伊沢 剛 ITストラテジスト教育系Youtuber

著者をフォローすると、最新記事をメールでお知らせします。右上のボタンからフォローください。

いざわ たけし / Takeshi Izawa

穴吹情報デザイン専門学校(広島県福山市)教務部勤務。情報系学科でプログラミング、人工知能関連の科目を担当。2020年11月で創業40周年を迎える洋菓子専門店プチフール(鳥取県米子市)取締役

この著者の記事一覧はこちら
関連記事
トピックボードAD
キャリア・教育の人気記事
トレンドライブラリーAD
連載一覧
連載一覧はこちら
人気の動画
日本の「パワー半導体」に一石投じる新会社の誕生
日本の「パワー半導体」に一石投じる新会社の誕生
TSUTAYAも大量閉店、CCCに起きている地殻変動
TSUTAYAも大量閉店、CCCに起きている地殻変動
【田内学×後藤達也】新興国化する日本、プロの「新NISA」観
【田内学×後藤達也】新興国化する日本、プロの「新NISA」観
【浪人で人生変わった】30歳から東大受験・浪人で逆転合格!その壮絶半生から得た学び
【浪人で人生変わった】30歳から東大受験・浪人で逆転合格!その壮絶半生から得た学び
アクセスランキング
  • 1時間
  • 24時間
  • 週間
  • 月間
  • シェア
会員記事アクセスランキング
  • 1時間
  • 24時間
  • 週間
  • 月間
トレンドウォッチAD
東洋経済education×ICT