python でエクセルの読み込みと書き込みの学習方法として
セルの塗りつぶし方を紹介します。
様々な色を使うことで見やすく仕上げることができます
セルを塗りつぶす方法
pythonでopenpyxlを使う事前準備
こちらの記事でわかりやすくまとめたので参考にしてほしい
import するもの
新たに下記モジュールをimportする。
from openpyxl.styles.fills import PatternFill
なおこの記事を書く上で、下記サイトで勉強させていただいた

記述方法
下記書式で変更可能となる。具体的な例はサンプルコードにて紹介する
またこれは上記で勉強させていただいた内容の引用になるが
patternTypeについては、下記使い方があるようだ。大変勉強になる
patternTypeには‘darkDown’, ‘darkGrid’, ‘lightGrid’, ‘gray0625’, ‘lightGray’, ‘mediumGray’, ‘darkGray’, ‘darkHorizontal’, ‘solid’, ‘darkVertical’, ‘lightUp’, ‘lightTrellis’, ‘darkUp’, ‘lightDown’, ‘lightVertical’, ‘gray125’, ‘darkTrellis’, ‘lightHorizontal’を指定することができます。用途に合わせて好みの塗り方を指定しましょう。
ws.cell(row = 行, column=列).fill = PatternFill(patternType=’solid’, start_color=’f9f9f9′, end_color=’f9f9f9′)
サンプルコード
# -*- coding: utf-8 -*-
import openpyxl
from openpyxl import Workbook, load_workbook
from openpyxl.styles.fonts import Font
from openpyxl.styles import borders
from openpyxl.styles.alignment import Alignment
from openpyxl.styles.fills import PatternFill
wb = load_workbook("sample.xlsx")
ws = wb["Sheet1"]
# 2列目をいろんな形で塗りつぶしてみる
ws.cell(row = 1, column=2).fill = PatternFill(patternType='solid', start_color='ff0000', end_color='ff0000')
ws.cell(row = 2, column=2).fill = PatternFill(patternType='solid', start_color='0000ff', end_color='0000ff')
ws.cell(row = 3, column=2).fill = PatternFill(patternType='solid', start_color='ff0000', end_color='0000ff')
wb.save('sample_rewirte.xlsx')
start_colorとend_colorについては、start_colorの値が採用されるようだ
※end_colorの使い道とはいったい。。。そのうち深堀調査が必要だ

実際の現場で求められること
pythonでエクセルを使うとは、何かの結果を統計的にまとめている場合が多い
そんなとき、セルの色塗りを自動化しているとパッと見てわかるエクセルが
書けるようになるわけだ。セルの色塗りまで自動化されてくるといよいよ
pythonをつかったエクセルの方が見栄えが良くなってくる。
次回は、私が良く使うセル塗り技を紹介する
まとめ
✔ セルを塗りで解析結果を見やすくまとめて、好感度アップ!
コメント
[…] […]