PythonでExcelファイルを操作する時にお役立ちのライブラリがOpenPyXLです。このライブラリを使うことで、Excelファイルを簡単に読み書きすることができ、データ処理や自動化ができます。本記事では、OpenPyXLを使ったExcelファイルの基本的な読み込みと書き込みの方法を解説します。
1. OpenPyXLとは?
OpenPyXLは、PythonでExcelファイル(.xlsx
形式)を操作するためのライブラリです。以下のような操作が可能です:
- Excelファイルの読み込み
- セルの値の取得と更新
- 新しいExcelファイルの作成
- グラフやフォーマットの操作
2. OpenPyXLのインストール
まずは、ライブラリをインストールします。ターミナルまたはコマンドプロンプトで以下のコマンドを実行してください:
pip install openpyxl
さらに詳しいインストール方法はこちらを参照してください!
3. Excelファイルの読み込み
Excelファイルを読み込むには、load_workbook
関数を使用します。以下は基本的な読み込みの例です。Pythonコードとエクセルファイルは同じ階層に配置してください。
コード例
from openpyxl import load_workbook
# Excelファイルを読み込む
workbook = load_workbook('sample.xlsx')
# シート名を確認
print(workbook.sheetnames)
# 特定のシートを選択
sheet = workbook['Sheet1']
# セルの値を取得
value = sheet['A1'].value
print(f"A1の値: {value}")

上のようなエクセルファイルに対してコードを実行すると、次のような出力が得られます。

ポイント
load_workbook
: 指定したExcelファイルを読み込みます。sheetnames
: ファイル内のシート名をリストで取得します。- セルの値の取得: セルを指定して値を取得できます(例:
sheet['A1'].value
)。
4. Excelファイルへの書き込み
Excelファイルへのデータの書き込みは簡単で、セルを指定して値を代入するだけです。
コード例
from openpyxl import Workbook
# 新しいExcelファイルを作成
workbook = Workbook()
# デフォルトのシートを取得
sheet = workbook.active
sheet.title = 'NewSheet'
# セルに値を書き込む
sheet['A1'] = 'こんにちは'
sheet['B1'] = 42
sheet['C1'] = 3.14
# ファイルを保存
workbook.save('new_file.xlsx')
print("Excelファイルが作成されました")
ポイント
Workbook
: 新しいExcelファイルを作成します。active
: デフォルトのシートを取得します。- セルへの書き込み: セルを指定して値を代入します(例:
sheet['A1'] = 'こんにちは'
)。 save
: ファイルを保存します。
5. 既存のExcelファイルにデータを追加
既存のExcelファイルにデータを追加するには、ファイルを読み込んだ後に値を更新します。
コード例
from openpyxl import load_workbook
# 既存のExcelファイルを読み込む
workbook = load_workbook('sample.xlsx')
# シートを選択
sheet = workbook['Sheet1']
# 新しいデータを追加
sheet['D1'] = '追加データ'
sheet['E1'] = 123
# 変更を保存
workbook.save('sample_updated.xlsx')
print("ファイルが更新されました")
6. よくあるエラーと対処法
1. ファイルが見つからない
エラー例:
FileNotFoundError: [Errno 2] No such file or directory: 'sample.xlsx'
対処法:
- ファイル名やパスが正しいことを確認してください。
- ファイルがスクリプトと同じディレクトリにあるか確認してください。
2. 読み取り専用モードのエラー
エラー例:
PermissionError: [Errno 13] Permission denied: 'sample.xlsx'
対処法:
- ファイルが他のプログラムで開かれていないことを確認してください。
7. まとめ
OpenPyXLを使えば、Pythonで簡単にExcelファイルを操作することができます。本記事で紹介した基本操作を応用すれば、業務の効率化やデータ処理を自動化するスクリプトを作成できます。
次回は、条件付き書式やグラフ作成などの応用編を解説します!ぜひ試してみてください。