Pythonを使ってExcelのワークシートの読み書きをしてみました。これをやる背景として日々の業務を効率よくこなすためのいい手段がないかなと思ったわけです。Excelマクロでもいいのですが、プログラムのコードとして独立してツールとして準備ができるのではないかを思ったんです。(Excelでもそういう専用のマクロのワークシートを用意すればいいんでしょうけど)
まず、Excelの入っているPCにPythonをインストールします。今の最新版がV3.9.0のようですが、とりあえず実績のあるV3.8.6をインストールしました。Excelを操作できるようにするためにライブラリをインストールします。
pip install openpyxl
サンプルになるExcelワークシートを準備します。こんなやつを用意しました。
このExcelシートの内容を読み出してみます。ソースコードはこんな感じ。
Visual Studio Codeを使っています。Visual Studio Codeを使って拡張機能のを入れれば、Pythonのコードも保管して入力してくれます。
Excelファイルは下記の三つからアクセスしていきます。
コードの3行目で、対象のExcelのワークブックを開きます。そして、6行目でワークシート(Sheet1)にアクセスします。7行目でから10行目で”行”にアクセス(min_row=2というのはExcelシートの二行目からアクセス)、9行目から10行目では”行”から”列”の内容を読み出して変数listに読み込み(追加)しています。valueというのが実際にデータの中身ですね。実行結果が以下のものになります。
では、Excelファイルに書き込んで保存してみます。先ほどのソースコードに追加をしてみます。
セルA8,B8,C8に追加をします。先ほどは読み出しに使った.valueに今度は値をセットしています。20行目で同じファイル名で保存します。実行結果のExcelファイルです。
こんな感じで簡単にPythonからExcelファイルがアクセスできます。
YouTubeライブ動画でも解説しています。