「言語が変わっても、やることは同じ」で作成した売上データのまとめファイルを用いて、顧客毎の請求書を作成するコードについて説明します。
資料はこちら → Excel(python)その10
p.1 事前に準備しておくものは、①売上データのまとめファイル、②作成した請求書を保存するフォルダ(今回のフォルダ名はinvoice02)及び③請求書のテンプレートのファイルです。 コードの内容は、売上データのまとめファイルの読み込みと請求書テンプレートへの書き込みの2つです。各々「def」で定義されています。読み込みでは「with open(ファイル名, “rt”) as 変数名」を用いると「close()」を省略できます。「rt」はread textの意味で「r」でもOKです。「for name, data in users.items()」を用いて「users」に読み込まれたデータを順番に「キー」と「itemデータ」の配列にしていきます。
p.2 請求書のフォーマットを読み込んだら、商店名(name)、件名(subject)及び請求金額(total)をテンプレートに書き込みます。その後、「for i, it in enumerate(data[‘items’])」を用いて、インデックス(i)とitemデータ(it)をテンプレートに順番に書き込んでいきます。インデックス(i)を用いてExcelセル番地を指定しています。 全て書き込んだら、「商店名+様.xlsx」のファイル名をつけて、フォルダinvoice02に保存して終了です。
今回の肝は、for文を用いて、インデックス番号とitemデータによりExcelの指定番地に順番に書き込んでいくやり方です。他の場面でも利用できそうです。マスターしたいですね。
本日のコードは → gen_invoice_matome