【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操作を効率化するために、ぜひこのライブラリを活用してみてください。
この記事が気に入ったらサポートをしてみませんか?