pythonを使用してExcelファイルの操作を勉強しています。
本日の気づき(復習)は、パラメーターに関してです。
pythonでExcelを操作するため、openpyxlというパッケージを使用しています。
後々レイアウトを変更したり、プログラムで読み込むブック名やセルの値を変えてしまうかもしれない時の対処法です。
なんだかちょっと実戦形式っぽくてワクワクしてます。
configparserモジュール
事前に設定ファイルにパラメーターを記述しておき、後から呼び出す方法です。
私はVScodeを使って作成しています。ファイルの文字コードは「UTF=8」です。
[DEFAULT]
filename = 日報.xlsx
cellno = I1
「DEFAULT」はパラメーターの大まかな分類を表します。(セクションと呼ぶそうです。)
上記のように「=」や「:」で区切った形式で記述します。
設定ファイルに記述できる形式など、詳しくは下記をご確認ください。
https://docs.python.org/ja/3/library/configparser.html#supported-ini-file-structure
先ずは configparser.ConfigParserオブジェクトを生成します。
config = configparser.ConfigParser()
お次に、設定ファイルを読み込むためにConfigParser.readメソッドを使います。
config.read(設定を記述したファイル名, encoding=使用する文字コード)
設定ファイル内の値は以下の書式で取得できます。
config[セクション名][引数名]
これらを踏まえて
import configparser
from openpyxl import load_workbook
config = configparser.ConfigParser()
config.read('sample.ini', encoding='utf-8')
default = config['DEFAULT']
filename = default['filename']
cellno = default['cellno']
wb = load_workbook(filename, read_only=True)
ws = wb.active
print(ws[cellno].value)
個人的にはinputの次にしっくりきました。
いちいちプログラム実行のたびに入力しなくても済むのが大きな理由です。