Excel トピックス プログラム、シミュレーション

確認するにはprint文が有効

投稿日:

Excelだけでできることをなぜpythonを用いたコードを勉強しているかわかりますか? 1つのファイル内の作業であれば、Excelのマクロを用いればできますが、複数あるExcelファイルを集計するにはpythonを用いた方が効率的です。本日は、顧客台帳からピックアップした顧客リストを作成します。

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

[読取部] 左上が顧客情報ファイルで左下のように横浜市と名古屋市の顧客をピックアップした表を作成するコードです。「customers」という入れ物の初期状態として「名前,住所,購入プラン」を入れておきます。「iter_rows」を用いて3行目から下方向に情報を読み取りvaluesの箱に入れていきます。values[0]は1列目(A列)が空(None)の場合は読取りを中止values[1]は2列目(B列)をareaという箱に入れます。pythonは0が起点なので、列番号とはズレます。areaが横浜市と名古屋市の場合valuesの値を、「append」を用いて「customers」の['名前', '住所', '購入プラン']の後に追加していきます。読み取った配列結果を、customersのところに示します。

[書込み部]新規のbook及びsheetを用意します。「for row, row_val  in enumerate(customers)」というコードは重要です。customersの配列を繰返し読取り、変数1(この場合row)と変数2row_val)に入れていきます。下に row,row_valの配列を示しておきます。print( row,row_val)とすれば表示できます。 次は、「for col,val   in enumerate(row_val)」により、row_val変数1(col)変数2(val)に入れていきます。print(col,val)としてその配列を示しました。 rowが行番号、colが列番号になります。つまり、変数1に行と列の番号変数2にデータの配列が入っているのです。 「c = new_sheet.cell(2+row, 1+col)」によりデータを書き込むExcelの番地を順番に指定し、「c.value = val」により、その番地にデータvalを書き込んでいきます。 このファイルを保存して完了です。左下が実行結果です。

今回のコード(プログラム)は、マトリックスデータを取り扱う際に有用なコードが多く含まれています。昔学んだBasicと異なり、私もまだ慣れていませんが、徐々に慣れていきましょう。 変数の意味が不明な場合は、print(変数)のようにして中身を確認してみることをお勧めします。

本日のコードは →  code(顧客リスト)

 

 

-Excel, トピックス, プログラム、シミュレーション

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