スポンサーリンク
OpenPyXLを使用すると、PythonからExcelを操作することができます。
本記事では、OpenPyXLを使用した行・列のセルを塗りつぶす方法について、詳しくご説明します。
セルの塗りつぶし
以下データが入ったExcelファイルについて、セルの塗りつぶし方法をご紹介します。
任意の行の塗りつぶし
以下を入力することで、任意の行を塗りつぶすことができます。
#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(テックアカデミー)がおすすめです。
私も入っていますが、好きな時間に気軽にオンラインで学べますので、何より楽しいです。
現役エンジニアからマンツーマンで学べるので、一人では中々続かない人にも、向いていると思います。
無料体験ができますので、まずは試してみてください!
\まずは無料体験!/
スポンサーリンク