見出し画像

【Python】openpyxlでエクセル操作を自動化する


`openpyxl`とは?

`openpyxl`は、PythonでExcelファイル(`.xlsx`)を作成、読み取り、編集できる便利なライブラリです。Excelの作業がプログラムで自動化できるため、反復作業を効率化したいときにとても役立ちます。

ライブラリのインストール

まず、`openpyxl`をインストールします。以下のコマンドをコマンドプロンプトまたはターミナルで実行してください。

pip install openpyxl

新しいExcelファイルの作成とデータの書き込み

新しいExcelファイルを作成して、そこにデータを書き込む方法から始めましょう。

from openpyxl import Workbook

# 新しいワークブックの作成
wb = Workbook()

# アクティブなシートを取得
ws = wb.active

# セルにデータを書き込み
ws['A1'] = 'Hello'
ws['B1'] = 'World'

# ワークブックを保存
wb.save('hello_world.xlsx')

このコードは、新しいExcelファイル `hello_world.xlsx` を作成し、最初のシートのセル `A1` と `B1` に "Hello" と "World" というテキストをそれぞれ書き込む例です。

既存のExcelファイルからのデータの読み取り

次に、既存のExcelファイルを読み取り、内容を表示する方法です。

from openpyxl import load_workbook

# 既存のワークブックを読み込む
wb = load_workbook('hello_world.xlsx')

# アクティブなシートを取得
ws = wb.active

# 特定のセルの値を取得
print(ws['A1'].value)  # Hello
print(ws['B1'].value)  # World

`load_workbook` 関数を使用すると、既存のExcelファイルを開き、そこからデータを読み取ることができます。

シートの操作

複数のシートを操作する方法についても簡単に触れておきます。

シートの追加

# 新しいワークブックを作成
wb = Workbook()

# デフォルトのシートは自動生成されるので、新しいシートを追加
ws1 = wb.create_sheet("First Sheet")
ws2 = wb.create_sheet("Second Sheet", 0)  # インデックス0に追加

# 新しいシートにデータを書き込む
ws1['A1'] = 'This is the first sheet'
ws2['A1'] = 'This is the second sheet'

# ワークブックを保存
wb.save('multiple_sheets.xlsx')

シートの名前変更

既存のシートの名前を変更する場合は、以下のようにします。

# 既存のワークブックを読み込む
wb = load_workbook('multiple_sheets.xlsx')

# シートを取得して名前を変更
ws = wb['First Sheet']
ws.title = 'Renamed Sheet'

# ワークブックを保存
wb.save('renamed_sheets.xlsx')

まとめ

このガイドでは、`openpyxl`を使ってPythonからExcelファイルを作成、編集、読み取る基本的な操作を紹介しました。自動化が必要なタスクや定型的なExcel操作を効率化するために、ぜひこのライブラリを活用してみてください。

この記事が気に入ったらサポートをしてみませんか?