openpyxlでセルに書かれた文字の色を変更したくて調べたんだけど、
赤色にするには「FF0000」というコードで実現できるらしい…。
この「FF0000」って何なの?詳しく知りたい。
なるほど…。
では今回は、「openpyxlの色コード」について
できるだけわかりやすく解説いたします。
openpyxlの色コードについて
まずこの色コード(「FF0000」など6ケタのコード)ですが、openpyxlなどのPythonで色をつける際に使われる場合があります。
これは「RGB」といって、光の3原色で構成されたコードです。
光の3原色って?
R(Red:赤)・G(Green:緑)・B(Blue:青)の光をあてる強さや割合によって色が変化するというものです。
これら3色の光を全く当てなければ真っ暗なので黒、すべての光をいっぱいに当てると白くなるという具合です。
色を変えるにはどうしたらいいの?
光の強さ、つまり数値を変更します。
色コードは、「000000」~「FFFFFF」まで存在し、「FF0000は赤」、「00FF00は緑」というようにさまざまな色を出すことができます。
Fって何?
Fは15のことです。
色コードはそれぞれのケタが16進数で表されています。
0・1・2・3・4・5・6・7・8・9・A・B・C・D・E・F
まであり、F(15)が最大です。
私たちが普段使っているのは0~9までの10進数なので、
ちょっとなじみがないかもしれませんね。
【代表的な色コード】
- 赤:FF0000
- 緑:00FF00
- 青:0000FF
- 白:FFFFFF
- 黒:000000
- 灰:808080
- 黄:FFFF00
- 紫:800080
- 紺:000080
色と数値に何か法則がありそう…。
その通り!
「RRGGBB」といって、左の2ケタは赤というように
赤・緑・青、それぞれ担当するケタがあります。
小学生の時、図工(美術)の授業で習った「色の3原色(赤・青・黄)」と似ていますが違います。
色の3原色は全ての色を混ぜると黒になるのに対し、光の3原色では白になります。
それぞれの数値を変更することでどのような色になるのか試したくなったのではないでしょうか。
では次は色コードの使い方を見ていきましょう。
色コードの使い方
では、openpyxlでエクセルに書かれた文字の色を変更してみましょう。
前項で解説した色コードを使います。
少し長いですが、ひとまず何も考えずに下記のコードを実行してみてください。
import openpyxl
from openpyxl.styles import Font
import os
os.makedirs('C:/openpyxl', exist_ok = True)
wb = openpyxl.Workbook()
ws = wb['Sheet']
ws['A1'].value = 'Utatane'
ws['A1'].font = Font(color='FF0000')
wb.save('C:/openpyxl/output.xlsx')
実行すると、Cドライブに「openpyxl」というフォルダが新規作成され、その中に「output.xlsx」が生成されたかと思います。
ファイルを開いていただくと、「A1」セルに赤色の「Utatane」という文字が書かれています。
11行目にあるコードの数値を変えて、色んな色を試してみてください。
今回のように文字色を変更する場合の詳細解説は、下記記事をご参考ください。
既存ファイルに書かれた文字を変更する方法も解説しております。
最後に
openpyxlの色コードの概要や使い方について解説いたしました。
当ブログでは、Pythonに関する情報を配信しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。
挫折せずにPythonを独学で学習する方法は特におすすめです。
最後までお読みいただき、ありがとうございました。がんばってください!