python でエクセルの読み込みと書き込みを学習します。
セル内のフォントや、文字位置の変更も簡単に一行で出来ますので紹介します
セルのフォントを変更する方法
pythonでopenpyxlを使う事前準備
こちらの記事でわかりやすくまとめたので参考にしてほしい
import するもの
新たに下記モジュールをimportする。
■フォントの変更
from openpyxl.styles.fonts import Font
■文字位置の変更
from openpyxl.styles.alignment import Alignment
記述方法
下記書式で変更可能となる。具体的な例はサンプルコードにて紹介する
■フォントの変更
ws.cell(row=行, column=列).font = Font(name=’フォント名’, sz=サイズ)
■文字位置の変更
ws.cell(row=行, column=列).alignment = Alignment(horizontal=’位置’, vertical=’高さ’)
サンプルコード
# -*- coding: utf-8 -*-
import openpyxl
from openpyxl import Workbook, load_workbook
from openpyxl.styles.fonts import Font
from openpyxl.styles.alignment import Alignment
wb = load_workbook("sample.xlsx")
ws = wb["Sheet1"]
# 1行目から3行目のフォントと文字位置を変更
# range(1, 4)の第二引数の値は含まれないので注意
for i in range(1,4):
# 1列目~3列目をフォントをMeiryo UIにしてサイズを20ptにする
ws.cell(row=i, column=1).font = Font(name='Meiryo UI', sz = 20)
ws.cell(row=i, column=2).font = Font(name='Meiryo UI', sz = 20)
ws.cell(row=i, column=3).font = Font(name='Meiryo UI', sz = 20)
# 右左真ん中、高さは中間に合わせてみる
ws.cell(row=i, column=1).alignment = Alignment(horizontal='right', vertical='bottom')
ws.cell(row=i, column=2).alignment = Alignment(horizontal='left', vertical='bottom')
ws.cell(row=i, column=3).alignment = Alignment(horizontal='center', vertical='bottom')
wb.save('sample_rewirte.xlsx')
狙いのセルの書式が変更できたことを確認

実際の現場で求められること
#1, 2では簡単なことしかしていなかったが、徐々に実践的になってきた。
フォントやサイズ、位置を変更できるようになると毎回決まった
キレイな書式で解析結果のレポートを出すことができる。必須テクニックだ
まとめ
✔ セルのフォント操作は、for文で一気に書き換えよう
コメント
[…] […]