Pythonを使ってExcelファイルを操作する方法はいくつかありますが、
その中でも特に便利なライブラリが『openpyxl』です。
openpyxlを使えば、Excelファイルの読み書きや編集を簡単に行うことができます。
この記事では、初心者向けにopenpyxlの基本的な使い方を解説します。
openpyxlのインストール
まずは、openpyxlをインストールしましょう。Pythonのパッケージマネージャであるpipを使って簡単にインストールできます。
pip install openpyxl
Excelファイルを新規作成する
Excelファイルを新規作成する方法を見てみましょう。
from openpyxl import Workbook
# 新しいワークブックを作成
wb = Workbook()
# アクティブなシートを取得
ws = wb.active
# シートにデータを書き込む
ws['A1'] = "こんにちは、openpyxl!"
# ファイルを保存
wb.save("example.xlsx")
このコードを実行すると、「example.xlsx」という名前のExcelファイルが作成され、
「A1」セルに「こんにちは、openpyxl!」という文字列が書き込まれます。
既存のExcelファイルを開く
既存のExcelファイルを開いてデータを読み込む方法を見てみましょう。
from openpyxl import load_workbook
# 既存のワークブックを開く
wb = load_workbook("example.xlsx")
# アクティブなシートを取得
ws = wb.active
# セルの値を取得
print(ws['A1'].value)
このコードを実行すると、「example.xlsx」ファイルの「A1」セルに書かれたデータが表示されます。
シートの操作:新しいシートの追加、シート名の変更
新しいシートを追加したり、シートの名前を変更したりする方法を見てみましょう。
# 新しいシートを追加
new_sheet = wb.create_sheet(title="新しいシート")
# シートの名前を変更
ws.title = "メインシート"
# シートを保存
wb.save("example_with_sheets.xlsx")
このコードを実行すると、「example_with_sheets.xlsx」という名前のファイルが作成され、「メインシート」と「新しいシート」の2つのシートが含まれます。
データの操作:セルに書き込み、読み込み
複数のセルにデータを書き込んだり、読み込んだりする方法を見てみましょう。
# データを書き込む
data = [
["名前", "年齢"],
["山田太郎", 28],
["鈴木花子", 34]
]
for row in data:
ws.append(row)
# ファイルを保存
wb.save("example_with_data.xlsx")
# データを読み込む
for row in ws.iter_rows(min_row=1, max_col=2, max_row=3):
for cell in row:
print(cell.value)
このコードを実行すると、「example_with_data.xlsx」ファイルにデータが書き込まれ、そのデータが読み込まれて表示されます。
スタイルの設定:セルの背景色やフォントを変更
セルのスタイルを設定する方法を見てみましょう。
from openpyxl.styles import Font, PatternFill
# フォントのスタイルを設定
bold_font = Font(bold=True)
# セルの背景色を設定
fill = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid")
# スタイルを適用
ws['A1'].font = bold_font
ws['A1'].fill = fill
# ファイルを保存
wb.save("example_with_style.xlsx")
このコードを実行すると、「example_with_style.xlsx」ファイルの「A1」セルのフォントが太字になり、背景色が黄色に変更されます。
詳しくは以下の記事に別で書いています↓
まとめ
openpyxlを使えば、PythonでExcelファイルを簡単に操作することができます。
この記事では、基本的な操作方法を紹介しましたが、openpyxlには他にも多くの機能があります。さらに詳しい情報が知りたい方は、公式ドキュメントを参照してみてください。