トピックス プログラム、シミュレーション 仕事の進め方

作業を分けて整理する

更新日:

複数あるExcelシートをまとめるpythonコードを説明します。

資料はこちら → Excel(python)その7

p.1 左図のように営業担当者毎に売上シートがあって、一つのシートにまとめるコードを作成します。

営業担当者のリストは、sales-sato  sales-takahashi  sales-yamaguchi  sales-yamda  sales-suzuki

p.2 先ずあるフォルダ内にあるファイル名を取得するコードは、「glob.glob(“path/*.*)」です。pathはフォルダのパス名です。「*.*」とすると全てのファイル名を取得し、拡張子を指定するとExcel、Wordなどのファイルを選択的に取得できます。実行結果は、パス名+ファイル名となります。 左側のコードは冒頭部分です。読み込みと書き込みのファイル名を最初に指定しておきます。 続いて「def」で始まるコードの塊がいくつかあります。この「def」は関数の定義に使います。pythonの場合、関数は「いくつかある処理内容」の意味です。defの後に関数名:があって、その下に関数が行う処理が書かれています。関数名の後の「」がないとエラーになります。今回は、売上一覧を書き込むブックを用意ファイルを読み込む読み込んだデータを保存の処理コードが書かれています。 今回salesbookフォルダ内に左下の5つのExcelファイルを予め用意しておきます。

p.3 3つのdefの塊があり、その中に他のdefの関数が入り込んでいますので、複雑です。右上のメインのdefの中に「enumfiles(main_sheet)」という関数があり、その関数の定義の中には「read_book(maini_sheet, fname)」という関数があり、その定義文のdefがあります。「fname」はパス名のついたファイル名で、1つ1つファイルを読み込んで、行毎にセルの値を取得します。取得したデータが「values」に入っています。「print(values)」で表示させたものをご覧ください。行毎の塊のデータ配列となっています。新しく取得したシートに、この「values」を「append」を用いて書き込んでいきます。空セルを読み込んだら作業を中止、次のファイルを読み込み同様な作業を続けます。実行結果が右下です。

コードはやや複雑ですが、多くのファイルをまとめる効率化が図れます。作業処理別にdefを用いておくと複雑な作業も整理されやすいようです。

本日のコードは → read_files

 

-トピックス, プログラム、シミュレーション, 仕事の進め方

Copyright© 進化するガラクタ , 2024 All Rights Reserved Powered by STINGER.