LoginSignup
1
2

More than 1 year has passed since last update.

Excel業務(無駄)を自動化したい part1 Excelに値を代入しよう

Last updated at Posted at 2022-10-15

はじめに

このサイトでは、社会人なりたての私が無駄を省くための戦いをまとめています。
今回のテーマは、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を用いたロード方法は、

excelデータのロード
import openpyxl

xlsx_path = "Excelファイルのパス"
wb = openpyxl.load_workbook(xlsx_path)

これでExcelファイルをロードすることができます。
ただこれだけでは、どのシートをいじるかわかりません!

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業務の自動化についてのことを学びながら書いていきます。
(早く自動化系のこと書きたい…)

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2