【Python】Excelファイルを編集する(OpenPyXLライブラリ)

Excel

この記事では、Pythonのopenpyxlライブラリを使用して、Excelファイルに対して以下の操作をする方法を紹介します。

  • セルの数値の取得と設定
  • テキストの取得と設定
  • セルの背景色の設定
  • セルのフォーマットの設定

準備

準備1:openpyxlのインストール

この記事のサンプルコードはopenpyxlライブラリを使用しています。実行前にopenpyxlがインストールされていることを確認してください。インストールされていない場合は、下記のコマンドを実行することでインストールできます。

> pip install openpyxl

準備2:Excelファイルの作成

編集対象のExcelファイルを準備してください。対象のファイルには “Sheet1” が存在している必要があります。

サンプルコード

下記スクリプトを実行すると、変数xlsx_file_pathが示すパスの既存Excelファイルを編集します。

from openpyxl import load_workbook
from openpyxl.styles import PatternFill, Color
import os

def edit_excel():
    # 既存のExcelファイルへのパス
    xlsx_file_path = r"C:\path\to\your\file.xlsx"

    # ファイルの存在確認
    if not os.path.exists(xlsx_file_path):
        print("Error", "ファイルが見つかりません:" + xlsx_file_path)
        return

    try:
        # Excelファイルを開く
        workbook = load_workbook(filename = xlsx_file_path)

        # ワークシート "Sheet1" を選択
        worksheet = workbook["Sheet1"]

        # セルから数値を取得
        tmp_val = worksheet["A1"].value
        value = tmp_val if tmp_val else 0 # tmp_valがNoneでなければ、そのままの値

        # セルに数値を設定
        worksheet["A1"].value = value + 1

        # セルからテキストを取得
        tmp_txt = worksheet["A2"].value
        text = tmp_txt if tmp_txt else "" # tmp_txtがNoneでなければ、そのままの値

        # セルにテキストを設定
        worksheet["A2"].value = text + "a"

        # セルの色を設定(背景色を黄色に設定)
        yellow_fill = PatternFill(start_color="FFFF00",
                                  end_color="FFFF00",
                                  fill_type="solid")
        worksheet["A3"].fill = yellow_fill

        # セルのフォーマットを設定(テキスト形式)
        worksheet["A4"].number_format = '@'
        worksheet["A4"].value = 1234

        # 変更を保存
        workbook.save(filename=xlsx_file_path)

        print("Success", "Excelファイルの操作が完了しました。")

    except Exception as e:
        print("Error", "エラーが発生しました: " + e)

# 関数の呼び出し
edit_excel()

まとめ

Pythonでは、Excelファイルの編集に、openpyxlのような強力なライブラリを利用することができます。これにより、Excelファイルの読み書きやスタイルの設定など、複雑な操作を簡単に行うことが可能です。

関連記事

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