外部から送られてきた資料を編集するんだけど、
フォントサイズが大きすぎたり小さすぎたりして見づらい…。
openpyxlを使って、シート全体のフォントサイズを変更する方法は無いの?
あります!
短いfor文を使って簡単にできますよ!
openpyxlを使って、シート全体のフォントサイズを変更する方法を、
Python歴3年の私ができるだけわかりやすく解説し、解決に導きます。
openpyxlでシート全体のフォントサイズを変更するには
「Font」と短いfor文を使います。まずは実行見本をどうぞ。
実行見本
全コード
ひとまず全コードを網羅します。解説は後ほど行います。
import openpyxl
from openpyxl.styles.fonts import Font
wb = openpyxl.load_workbook('input.xlsx')
ws = wb['Sheet1']
size15 = Font(size = 15)
for row in ws:
for cell in row:
ws[cell.coordinate].font = size15
wb.save('input.xlsx')
size15 = Font(size = 15)
for row in ws:
for cell in row:
ws[cell.coordinate].font = size15
事前準備
- openpyxlのインストール
既存のエクセルファイルを編集するには「openpyxl」のインストールが必要です。
openpyxlのインストール方法
openpyxlを初めて使用する場合は、下記コードを入力・実行して、インストールしてください。
pip install openpyxl
※openpyxlを使用したことがある場合は、このインストール作業は不要です。
解説
フォントサイズを変更する
>>7.size15 = Font(size = 15)
右辺の「Font(size = 15)」は、フォントサイズを15に変更するという指定です。
そしてそれを、size15という変数に入れています。
この変数は後ほど使います。
インポートも含め、フォントサイズ変更の詳しい解説は下記記事で行っておりますので、ご参考ください。
for文の解説
for row in ws:
for cell in row:
ws[cell.coordinate].font = size15
二重ループになっているため少し難しく感じるかもしれませんが、簡単です。
「for row in ws:」
ws(ワークシート)をrow(行)という変数に入れていきます。
wsは二次元配列のため、rowは単なる配列となります。
「for cell in row:」
今度はrowをcell(セル)という変数に入れていきます。
rowは配列のため、cellは配列ではなく、単なる変数になります。
あとはセル1つ1つにフォントサイズ変更(size15)を適用していきます。
「coordinate」で座標を取得し、1行目を1セルずつ処理しているという感じです。
これで、シート全体のフォントサイズを変更することができます。
for文については、下記記事にてもっとわかりやすい解説をしておりますので、詳しく知りたい方はご覧ください。
その他の解説
既存ファイルを開いて保存する方法などの操作の基本解説は、下記記事で行っております。
ご参考ください。
うまく動作しない時
エラーが出る
No such file or directory: ○○
これは、読み込むファイルやフォルダが見つからないというエラーです。
読み込むファイルのファイル名と構文のファイル名が一致しているか確認しましょう。
詳しい解説は、下記記事をご参考ください。
Permission denied: ○○
操作しようとしているファイルにアクセスできないというエラーです。
「ファイルを開いている状態なので編集できない」と言っていることが多いので、開いていれば閉じて再度トライしましょう。
詳しい解説は、下記記事をご参考ください。
Worksheet ○○ does not exist
「指定したシートがありません」というエラーです。
指定のシート名が間違っていないか、「sheet1」など先頭が小文字になっていないか確認しましょう。
詳しい解説は、下記記事をご参考ください。
○○ is not defined
今まで出てきていない変数などを処理しようとした時に出るエラーです。
変数名などが間違っていないかチェックしましょう。
詳しい解説は、下記記事をご参考ください。
その他のエラー
その他のエラーが出た場合は、エラー文をコピーしてNETで検索してみましょう。
まとめ
openpyxlでシート全体のフォントサイズを変更する方法を解説いたしました。
フォントサイズは見やすいサイズに調整してみてください。
当ブログでは、Pythonに関する情報を配信しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。
最後までお読みいただき、ありがとうございました。がんばってください!