Python『openpyxl』でExcelセルの書式設定入門
この記事では、Pythonのopenpyxlライブラリを使用してExcelセルの書式設定を行う方法を解説します。Excelファイルのフォントやボーダー、背景色の変更から数値形式、セルの幅・高さの設定まで、実務で使える具体例とともに学んでいきましょう。
ほかの記事
- Python『openpyxl』入門:Excelセルのフォント・背景色・配置情報を取得する方法
- Excel作業を自動化!Python『openpyxl』で結合セルの操作方法を徹底解説
- PythonでExcelデータを簡単に一括書き込み!openpyxlの使い方と実用例
サンプルコード
from openpyxl import Workbook, load_workbook
from openpyxl.styles import Font, Border, Side, PatternFill
# 1. 既存のExcelファイルを開く
wb = load_workbook("sample.xlsx")
ws = wb.active # シートを選択
# 2. 書式設定を行いたいセルを指定
cell = ws.cell(row=2, column=2)
# 3. フォント設定を変更
cell.font = Font(name="Arial", size=14, color="FF0000", bold=True, italic=True)
# 4. ボーダー設定を変更
side = Side(style="thin", color="000000")
cell.border = Border(left=side, right=side, top=side, bottom=side)
# 5. 背景色を設定
cell.fill = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid")
# 6. 数値形式を設定
cell.number_format = "#,##0.00"
# 7. セルの幅と行の高さを設定
ws.column_dimensions["B"].width = 20
ws.row_dimensions[2].height = 30
# 8. ファイルを保存
wb.save("formatted_sample.xlsx")
# 9. ワークブックを閉じる
wb.close()
1. openpyxlライブラリをインポートする
まず、PythonでExcel操作を可能にするopenpyxl
ライブラリをインポートします。インストールされていない場合は、以下のコマンドでインストールしてください。
pip install openpyxl
次に、Pythonスクリプト内でopenpyxlをインポートします。
from openpyxl import Workbook, load_workbook
2. 対象となるExcelファイルを開く
次に、書式設定を行いたい既存のExcelファイルを開きます。load_workbook
関数を使ってファイルを読み込み、操作する準備をします。
wb = load_workbook("sample.xlsx")
このコードでは、Excelファイル「sample.xlsx」が読み込まれ、wb
オブジェクトに格納されます。
3. 操作するシートを選択する
次に、書式設定を適用するシートを選択します。active
属性またはシート名を指定して操作対象のシートを決定します。
ws = wb.active
または、特定のシート名を使って取得します:
ws = wb["Sheet1"]
4. 書式を設定したいセルを選択する
設定を行いたいセルを選択します。.cell
メソッドを使用して、特定のセルを指定します。
cell = ws.cell(row=2, column=2)
これにより、「B2」セルが選択されます。
5. フォント設定を変更する
5.1 Fontオブジェクトの生成
openpyxlのFont
オブジェクトを使用してフォントを設定します。
from openpyxl.styles import Font
次に、フォントの設定を行います。
cell.font = Font(name="Arial", size=14, color="FF0000", bold=True, italic=True)
このコードで、フォントはArial、サイズは14、色は赤色、太字とイタリックが適用されます。
6. ボーダー設定を変更する
6.1 Borderオブジェクトの生成
openpyxlのBorder
オブジェクトを使用して、セルのボーダー(枠線)を設定します。
from openpyxl.styles import Border, Side
ボーダーのスタイルを設定します。
side = Side(style="thin", color="000000")
cell.border = Border(left=side, right=side, top=side, bottom=side)
このコードにより、セルに黒色の薄い線のボーダーが設定されます。
7. 背景色を設定する
7.1 PatternFillオブジェクトの生成
背景色を設定するためにPatternFill
オブジェクトを使用します。
from openpyxl.styles import PatternFill
背景色を指定します。
cell.fill = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid")
このコードにより、セルに黄色の背景色が適用されます。
8. 数値形式を設定する
数値形式を設定することで、Excelでの見た目や表示形式を変更できます。
cell.number_format = "#,##0.00"
このコードでは、数値が千の位でカンマ区切り、2桁の小数点で表示されます。
9. セルの幅・高さを設定する
セルの幅や行の高さを指定します。
ws.column_dimensions["B"].width = 20
ws.row_dimensions[2].height = 30
これにより、列Bの幅が20に、2行目の高さが30に設定されます。
10. 改訂後のワークブックを保存する
編集したExcelファイルを保存します。
wb.save("formatted_sample.xlsx")
ファイルは「formatted_sample.xlsx」という名前で保存されます。
11. ワークブックを閉じる
使用を終えたらワークブックを閉じます。
wb.close()
まとめ
この記事では、openpyxlを使用してExcelのセルにさまざまな書式設定を適用する方法を学びました。基本的なフォント設定、ボーダー、背景色の設定、数値形式の変更、セルの幅と高さの調整までを理解することで、Excelファイルをより見やすく、データの内容に応じたフォーマットを施すことができるようになったでしょう。
openpyxlの公式サイトはこちらからアクセスできます:
これらのリンクから、openpyxlの最新バージョン情報やソースコード、ドキュメントを確認できます。
コメント