openpyxl セルの塗りつぶし方【初心者のためのpython #5】

pythonでエクセル操作
この記事は約4分で読めます。

python でエクセルの読み込みと書き込みの学習方法として

セルの塗りつぶし方を紹介します。

様々な色を使うことで見やすく仕上げることができます

セルを塗りつぶす方法

pythonでopenpyxlを使う事前準備

こちらの記事でわかりやすくまとめたので参考にしてほしい

import するもの

新たに下記モジュールをimportする。

from openpyxl.styles.fills import PatternFill

なおこの記事を書く上で、下記サイトで勉強させていただいた

openpyxlでセルに色を塗る - Qiita
Introduction ここに以下のようなエクセルファイル(test.xlsx)があります。 このデータは大切なものであると一目で分かるように、セルに色を塗ってほしいとの依頼がありました。このエクセルファイルひとつであれ...

記述方法

下記書式で変更可能となる。具体的な例はサンプルコードにて紹介する

またこれは上記で勉強させていただいた内容の引用になるが

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をつかったエクセルの方が見栄えが良くなってくる。

次回は、私が良く使うセル塗り技を紹介する

まとめ

セルを塗りで解析結果を見やすくまとめて、好感度アップ!

タイトルとURLをコピーしました