【Python】行・列のセルを塗りつぶす|OpenPyXL基礎

行・列のセルを塗りつぶす|OpenPyXL基礎_アイキャッチ プログラミング

※ 当サイトはアフィリエイト広告を利用しています。

levtech-ad
スポンサーリンク

OpenPyXLを使用すると、PythonからExcelを操作することができます。

本記事では、OpenPyXLを使用した行・列のセルを塗りつぶす方法について、詳しくご説明します。

こんな人に読んでほしい
  • Pythonを使用してExcelを操作したい人
  • OpenPyXLを使用した行・列のセルを塗りつぶす方法を知りたい人
levtech-ad

セルの塗りつぶし

以下データが入ったExcelファイルについて、セルの塗りつぶし方法をご紹介します。

Sample (fruit list)

任意の行の塗りつぶし

以下を入力することで、任意の行を塗りつぶすことができます。

#input
import openpyxl
from openpyxl.styles import PatternFill

wb = openpyxl.load_workbook("fruit.xlsx")
ws = wb['Sheet1']

# 塗りつぶす行を指定
row = [3,5,7,9,11,13]

for list in row:
    for row in ws.iter_rows():
        for cell in row:
            if cell.row == list:
                cell.fill = PatternFill(fgColor="FFFF00",bgColor="FFFF00", fill_type = "solid")

# 名前を付けて保存
wb.save("fruit001.xlsx")
行の塗りつぶし

任意の列の塗りつぶし

以下を入力することで、任意の列を塗りつぶすことができます。

import openpyxl
from openpyxl.styles import PatternFill

wb = openpyxl.load_workbook("fruit.xlsx")
ws = wb['Sheet1']

# 塗りつぶす列を指定
cols = [2,4,6,8,10]

for list in cols:
    for cols in ws.iter_cols():
        for cell in cols:
            if cell.column == list:
                cell.fill = PatternFill(fgColor="FFFF00",bgColor="FFFF00", fill_type = "solid")

# 名前を付けて保存
wb.save("fruit002.xlsx")
列の塗りつぶし

塗りつぶしの色とパターンの指定

上記紹介コードに記載されている「fgColor」は「Foreground Color」、「bgColor」は「Background Color」のことです。

また、「fill_type」は塗りつぶしパターンのことです。

試しに、fgColorを赤色、bgColorを青色として、格子パターンで、行列ともに塗りつぶしてみます。

import openpyxl
from openpyxl.styles import PatternFill

wb = openpyxl.load_workbook("fruit.xlsx")
ws = wb['Sheet1']

# 塗りつぶす列を指定
row = [3,5,7,9,11,13]
cols = [2,4,6,8,10]

for list in row:
    for row in ws.iter_rows():
        for cell in row:
            if cell.row == list:
                cell.fill = PatternFill(fgColor="FF0000",bgColor="0000FF", fill_type = "lightGrid")

for list in cols:
    for cols in ws.iter_cols():
        for cell in cols:
            if cell.column == list:
                cell.fill = PatternFill(fgColor="FF0000",bgColor="0000FF", fill_type = "lightGrid")



# 名前を付けて保存
wb.save("fruit003.xlsx")
行列の塗りつぶし

まとめ

この記事では、OpenPyXLを使用した行・列のセルを塗りつぶす方法について、ご説明しました。

本記事を参考に、ぜひ試してみて下さい。

参考

Python学習用おすすめ教材

Pythonの基本を学びたい方向け

統計学基礎を学びたい方向け

Pythonの統計解析を学びたい方向け

おすすめプログラミングスクール

Pythonをはじめ、プログラミングを学ぶなら、TechAcademy(テックアカデミー)がおすすめです。

私も入っていますが、好きな時間に気軽にオンラインで学べますので、何より楽しいです。

現役エンジニアからマンツーマンで学べるので、一人では中々続かない人にも、向いていると思います。

無料体験ができますので、まずは試してみてください!

\まずは無料体験!/
スポンサーリンク
タイトルとURLをコピーしました