\

Pythonのopenpyxlライブラリは、Excelファイルの読み書きを行うための強力なツールです。特にdata_only=Trueパラメータは、Excelのセルに含まれる数式の結果を取得する際に非常に便利です。

data_onlyパラメータとは

openpyxl.load_workbook関数のdata_onlyパラメータをTrueに設定すると、数式そのものではなく、数式の計算結果を取得することができます。これは、Excelファイル内の大量の数式を評価した結果を取得する必要がある場合に特に有用です。

しかし、注意点として、data_only=Trueで読み込んだ後にそのまま保存すると、元の数式が消えてしまう可能性があります。そのため、数式を保持したまま別のブックに転記するなどの対策が必要です。

実践的な使用例

以下に、openpyxldata_only=Trueパラメータを使用してExcelファイルからデータを読み込むPythonスクリプトの例を示します。

from pathlib import Path
from openpyxl import load_workbook, Workbook

wb_new = Workbook()
ws_new = wb_new.active
ws_new.title = '台帳'
ws_new.column_dimensions['A'].width = 20

path = Path('../地区別平均時給')
for i, file in enumerate(path.glob('*.xlsx')):
    wb = load_workbook(file, data_only=True)
    ws = wb['チェックリスト']
    row_no = i + 1
    ws_new.cell(row_no, 1).value = ws['D23'].value
    ws_new.cell(row_no, 2).value = ws['L23'].value
    ws_new.cell(row_no, 2).number_format = ws['L23'].number_format

wb_new.save('平均時給一覧.xlsx')

このスクリプトは、指定したディレクトリ内のすべてのExcelファイルを読み込み、各ファイルの特定のセルの値を新しいExcelファイルに書き出します。このように、openpyxldata_only=Trueパラメータを活用することで、Pythonを使って効率的にExcelデータを操作することが可能です。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です