はじめに
このサイトでは、社会人なりたての私が無駄を省くための戦いをまとめています。
今回のテーマは、pythonのライブラリを用いて、
Excelに文字列を代入することをメインに書いていきます。
ライブラリ名は、openpyxlです。
実行環境
Windows10
Python 3.10.5
openpyxlとは?
openpyxlはExcelファイル(.xlsx
)を読み書きできるツールです。
公式ドキュメント openpyxl/openpyxl-Bitbucket
詳しくはこちら!
今回はExcelファイル内のデータを読み込んで、分析するのではなく、
代入したいだけなので、pandasではなくopenpyxlを使用しています!
Excelに値を代入しよう!
Excel業務の自動化の第一歩として、Excelデータをロードして、セルの値を変更を行うプログラムを作成します。
Excelデータのロード
セルに値を代入する上で、前処理として代入したいセルを持つExcelファイルをロードする必要があります。
ロードするためには、Excelファイルのパスがあればできます!
openpyxlを用いたロード方法は、
import openpyxl
xlsx_path = "Excelファイルのパス"
wb = openpyxl.load_workbook(xlsx_path)
これでExcelファイルをロードすることができます。
ただこれだけでは、どのシートをいじるかわかりません!
ws = wb.worksheets[0]
上記のコードを加えることで、シートを指定できるので、これでロード完了です!
※今回はコピペですが、別途関数の話はしたいと思います(多分)
セルに値を代入する
前章でExcelファイルのロードができました。
ここからいよいよセルに値を代入に入りましょう!
Worksheet
オブジェクトにExcelのセルを指定するとcell
オブジェクトを取得できます。
またcell
オブジェクトにはvalue
属性があるため、これを操作すると代入できます!
print(ws['A1'].value)
# ""
str = "代入OK!"
ws['A1'].value = str
print(ws['A1'].value)
# "代入OK!"
このようにcell
オブジェクトのvalue
の値を変えることで、Excelに値を代入できます。
※セルの指定方法は別にある
str = "代入OK!"
ws.cell(row=1, column=1).value = str
終わりに
みなさん、会社に所属しているとExcelとは切っても切れない関係なので、
いい関係で終われるように、楽をしましょう!
これからシリーズでpythonを使ったExcel業務の自動化についてのことを学びながら書いていきます。
(早く自動化系のこと書きたい…)