Home » Python » xlwtの使い方 » xlwtで数式を書き込む

動作検証バージョン:Windows 10 + Python 3.8.0 + xlwt 1.3.0

「xlwt 数式」
といった検索キーワードでのアクセスに気が付きました。

xlsファイルへの書き込みを行うPythonのライブラリxlwtを使って、数式を入力するにはどのようなコードを書けばいいのかを探していらしたのでしょう。

[スポンサードリンク]

xlwtで数式を書き込むサンプル

以下のコードが参考になるでしょう。

import xlwt

bk = xlwt.Workbook()
sh = bk.add_sheet('数式の書き込みサンプル')

sh.write(0, 0, 100)   # A1セル
sh.write(0, 1, 5)   # B1セル
sh.write(0, 2, xlwt.Formula('A1*B1'))   # C1セル
sh.write(0, 3, xlwt.Formula('IF(C1>=500, "〇", "-")'))   # D1セル

bk.save(r'C:\temp\samp_formulas.xls')

上記のコードを実行すると、
  A1セルに
    100
  B1セルに
    5
  C1セルに
    =A1*B1
  D1セルに
    =IF(C1>=500,"〇","-")
が入力されたブックsamp_formulas.xlsが、Cドライブtempフォルダーに作成されます。

xlwtで数式を書き込む処理について

セルに数式の書き込みを行っているのは、
  sh.write(0, 2, xlwt.Formula('A1*B1'))
  sh.write(0, 3, xlwt.Formula('IF(C1>=500, "〇", "-")'))
です。

Worksheet.write()メソッドの第3引数labelに、xlwt.Formulaオブジェクトを指定すれば、数式が書き込まれます。

xlwt.Formulaコンストラクタの引数に、
  sh.write(0, 2, xlwt.Formula('=A1*B1'))
  sh.write(0, 3, xlwt.Formula('=IF(C1>=500, "〇", "-")'))
のように「=」を入れてはダメな点に注意が必要でしょう。

最終更新日時:2020-05-31 12:08

[スポンサードリンク]

Home » Python » xlwtの使い方 » xlwtで数式を書き込む

「xlwtの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.