はじめに
このサイトでは、社会人なりたての私が無駄を省くための戦いをまとめています。
今回のテーマは、pythonのライブラリを用いて、
Excelに代入した文字をいろいろいじっていきます。
ライブラリ名は、openpyxlです。
実行環境
Windows10
Python 3.10.5
openpyxlとは?
openpyxlはExcelファイル(.xlsx
)を読み書きできるツールです。
公式ドキュメント openpyxl/openpyxl-Bitbucket
詳しくはこちら!
今回はExcelファイル内のデータを読み込んで、分析するのではなく、
代入したいだけなので、pandasではなくopenpyxlを使用しています!
文字をいじろう
Excelに値を代入する方法はこちらをご覧ください。
それではセル内の文字をいじっていきます。
文字をいじる関数はopenpyxl内のFont関数です。
いじる前にFont関数について説明します。
Font関数とは?
Font関数はセル内の文字をいじるのに使います。
引数として7つの値を入力できます。
下記にFont関数に入力できる値の例を記載します。
font = Font(name='Calibri', #フォント名
size=11, #文字サイズ
bold=False, #太文字
italic=False, #italic
underline='none', #下線
strike=False, #打消し線
color='FF000000') #文字の色
まとめると、
引数名 | データ型 | 初期値 | 解説 |
---|---|---|---|
name | 文字列型(String) | Calibri | フォント名を入力すると、フォントの型が変更できる |
size | 整数型(int) | 11 | 文字の大きさを変更できる |
bold | ブール型(bool) | False | Trueにすると、太文字になる |
italic | ブール型(bool) | False | Trueにすると、Italicになる |
underline | ブール型(bool) | None | Trueにすると、下線が引ける |
strike | ブール型(bool) | None | Trueにすると、打消し線が引ける |
color | 文字列型(String) | None | カラーコードを入力すると、文字の色が変更できる |
こちらのサイトで分かりやすくまとめられているので、困った方はこちらへ
PythonでOpenPyXLを使いExcelのフォントを設定する方法
文字をいじる
前章のデータをもとに文字をいじってみましょう!
今回は文字を赤色の太字にしたいと思います。
import openpyxl
from openpyxl.styles import Font
xlsx_path = "Excelファイルのパス"
wb = openpyxl.load_workbook(xlsx_path)
ws = wb.worksheets[0]
ws.cell(row=1, column=1).value = "文字赤いよ、でかいよ"
ws.cell(row=1, column=1).font = Font(size=30,bold=True,color="ff0000")
wb.save(xlsx_path)
上記のコードを実行すると、文字をいじることができました。
※引数はすべて指定する必要がなく、いじりたい箇所の値をいれるだけでよい
※いちいちFont関数でいじるのがめんどくさいあなたへ
使いそうなレイアウトを変数に格納できます
style_type1 = Font(size=30,bold=True,color="ff0000")
ws.cell(row=1, column=1).font = style_type1
おまけ
編集したExcelの保存方法(紹介忘れていたので追記)
wb.save("Excelファイルのパス")
終わりに
今回の紹介した操作のおかげで、前回に比べると業務に使えそうなビジョンが見えてきたので、書いてて楽しかったです。そろそろセルのレイアウトにも着手していきたいです。
Excel関連の業務でこれが嫌だ!みたいなことがありましたら、コメントしていただくと嬉しいです。