はじめに
このサイトでは、社会人なりたての私が無駄を省くための戦いをまとめています。
今回のテーマは、pythonのライブラリを用いて、Excelをいじっていきます。
ライブラリ名は、openpyxlです。
実行環境
Windows10
Python 3.10.5
openpyxlとは?
openpyxlはExcelファイル(.xlsx
)を読み書きできるツールです。
公式ドキュメント openpyxl/openpyxl-Bitbucket
詳しくはこちら!
今回はExcelファイル内のデータを読み込んで、分析するのではなく、
代入したいだけなので、pandasではなくopenpyxlを使用しています!
Excelに値を代入!
Excelに値を代入する方法は以前触れたので、今回はどんな値を代入できるのかについて
書いていきます。
参考資料 Excel業務(無駄)を自動化したい part1 Excelに値を代入しよう
どんな値を代入できるのか調べたところ、文字列のみ代入できることが分かりました。
これで終了ではなく、ここからが問題で、
Excelには文字列であればなんでも代入することができます。
代入できるもの
分かりやすいものは、単純な文字列、数値などがあります。
プラスしてExcelに**数式(関数)**を代入することができます。
str = "代入OK!"
ws['A1'].value = str
ws['A3'].value = "=A1"
print(ws['A3'].value)
# "=A1"
文字列として代入することで、数式を無理やり代入することができます。
出力結果が以下の画像です。
誰得かわかりませんが、pythonを用いたマクロみたいなものを作ることができます。
数式に関しては、Excelで使えるものはすべて代入できるはず…です。
終わりに
見つけたすぐのタイミングのときは大発見だと喜びましたが、よくよく考えたら、全部pythonでよくね?という感想が出てきたので、使いたい人は使ってみてください。私は、マクロの勉強したくないので、もう少し使っていこうと思います。