この記事では、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ファイルの読み書きやスタイルの設定など、複雑な操作を簡単に行うことが可能です。