0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

OpenPyXLでセル文字の書式を判定したい

Last updated at Posted at 2019-10-15

OpenPyXLでセル文字の書式(太字かどうか、イタリックかどうか…等)を判定したいです。

筆者環境

  • Python 3.7.2
  • OpenPyXL 2.6.2

リファレンスを見る

https://openpyxl.readthedocs.io/en/stable/styles.html#cell-styles より。

from openpyxl.styles import Font, Color

wb = Workbook()
ws = wb.active
a1 = ws['A1']

# 中略

a1.font.italic = True # is not allowed # doctest: +SKIP

これはws['A1']をイタリック体に設定するコードのようです。しかし、逆にa1.font.italicTrueかどうか判定するコードを書けば、ws['A1']がイタリックかどうか判定できそうです。
イタリックの代わりに、__太字__bold の判定をやってみましょう。

実装

flag = ws['A1'].font.bold

または

flag = ws.cell(row=1, column=1).font.bold

これでよさげと思いきや、もしA1セルが太字ではなかったらこのflagにはなんとFalseではなくNoneが入ります。Falseにしたい場合は、素朴な方法ではありますが次の一行を加えましょう。

flag = False if flag is None else flag
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?