Excelファイルをpythonで処理する方法を一緒に学習しましょう。予め「openpyxl」はインストールしておいてください。
資料はこちら → Excel(python)
p.1 先ず「Hello」という単語をExcelに書き込んでファイルを保存してみます。Range(1:5)とすると4つしか書き込まれていません。Pythonはよく起こりますので、ご注意ください。範囲設定にはご注意ください。 「資料_1」~「資料_5」の5つのブックを作成します。「input」で、ブックの数量を聞いてきます。 複数のシートも作成できます。 「input」で、シートの数量を聞いてきます。 「f」は文字列内に変数を埋め込む場合に用います。
p.2 複数のExcelファイル読み込む方法です。「books」というフォルダに5つのExcelファイル(チェックリスト1~5)を予め入れておきます。各ファイルには部署名と氏名が書かれています。5つのファイルを集計します。読み込むファイルは、パス名を「Path('./books')」で指定します。「Path('.')」が現在作業しているjupyterファイルがある場所を示しています。このフォルダ内に「books」というフォルダがあります。path.glob(‘*.xlsx’) を用いて、全ての.xlsxファイルを読み込みます。5つのファイルのシート名は、今回「チェックリスト」にしてあります。 for以下の繰り返しは、読み込んだファイルび数が「i」に代入されます。詳細はp.3の上に記載しました。読み込んだ結果を「一覧表.xlsx」として保存します。このファイルを開けると、右下のように集計された結果が確認できました。 読み込みの際に「read_only=True」にしてありますが、今後変更する可能性がある場合は削除しておいてください。
p.3 前ページで「for 変数1, 変数2 in enumerate(リスト):」となっていました。「enumerate」は、読み込むファイルがある限りfor以下の操作を続けることになります。 複数のファイルを読み込んで集計するもう一つの方法です。「cell(行番号, 列番号).value =‘設定したい値’」を用いてセルの番地を指示する方法です。 各課の予算を集計する事例にしました。
p.4 シートに名前をつけたり、色を付けるスクリプトです。「'語句' + ws.title」を用いて現在付いているシート名の頭に接頭語を追加できます。今回は「ID」を付けました。色は「ws.sheet_properties.tabColor = '色コード'」で指定します。 Excelの色指定のユーザー設定タブにあるHex(H)のコード名を入力してください。
p.5 右上のようなコメントが付けられたExcelファイルのコメントを集計する方法です。「cell.comment」の後に「.text」「.author」「.coordinate」を付加させると、各々、テキスト・コメント作成者・コメントのセル番地を取得します。「cell. .comment = Comment(コメントテキスト、コメント者)」とするとコメントを挿入することもできます。
p.6 セルに数式を入れる方法です。「ws[セル番地 }=数式(文字列)」でできてしまいます。シンプルですね。
本日は、ここまでです。基本的な操作を説明しました。pythonを用いて、効率的にファイル集計を行いたいものですね。
本日のスクリプトは → Excel(pythonスクリプト)