openpyxl フォントの変え方【初心者のためのpython #3】

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

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文で一気に書き換えよう

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