OpenPyXl_コマンド集

OpenPyXLコマンド集:Excelファイルの読み込み・保存・書き換え・新規作成など

OpenPyXLは、PythonでExcelファイルを操作する非常に便利なライブラリです。本記事では、OpenPyXLの基本的なコマンドを網羅的に解説します。これを参考に、Excel操作効率化スクリプトを書いていただけましたら本望です。


1. ファイルの読み込み

Excelファイルを操作する最初のステップが「読み込み」です。

コマンド例

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でセルの値を取得可能です。

2. 新規ファイルの作成

Excelファイルを一から作成したい場合は、Workbookを使用します。

コマンド例

from openpyxl import Workbook

# 新しいExcelファイルを作成
workbook = Workbook()

# デフォルトのシートを取得
sheet = workbook.active

# セルにデータを入力
sheet['A1'] = 'Hello, OpenPyXL'
sheet['B1'] = 123

# ファイルを保存
workbook.save('new_file.xlsx')
print("新しいExcelファイルを作成しました")

ポイント

  • Workbook: 新しいExcelファイルを作成します。
  • active: デフォルトのシートを取得します。
  • save: ファイルを保存します。

3. ファイルの保存(上書き・別名保存)

既存のファイルを保存する際は、saveメソッドを使用します。

コマンド例

from openpyxl import load_workbook

# ファイルを読み込む
workbook = load_workbook('sample.xlsx')

# セルの値を変更
sheet = workbook['Sheet1']
sheet['A1'] = 'Updated Data'

# 上書き保存
workbook.save('sample.xlsx')

# 別名で保存
workbook.save('sample_copy.xlsx')
print("ファイルを保存しました")

ポイント

  • 上書き保存: 読み込んだファイルと同じ名前で保存します。
  • 別名保存: ファイル名を変更して保存できます。

4. シートの作成・削除・切り替え

新しいシートの作成

# 新しいシートを追加
new_sheet = workbook.create_sheet(title='NewSheet')
new_sheet['A1'] = 'This is a new sheet'

# 保存
workbook.save('new_file_with_new_sheet.xlsx')

シートの削除

# シートを削除
del workbook['NewSheet']

# 保存
workbook.save('file_after_deleting_sheet.xlsx')

デフォルトシートの切り替え

# デフォルトのアクティブシートを取得
default_sheet = workbook.active
print(default_sheet.title)

5. セルの読み書き

セル操作の基本を以下に示します。

セルの値の取得

# セルの値を取得
value = sheet['B2'].value
print(value)

セルに値を書き込む

# セルにデータを書き込む
sheet['C3'] = 'Pythonで書き込み'

行・列単位での操作

# 行単位でデータを取得
for row in sheet.iter_rows(min_row=1, max_row=5, values_only=True):
    print(row)

# 列単位でデータを取得
for col in sheet.iter_cols(min_col=1, max_col=3, values_only=True):
    print(col)

6. データの追記

ファイルにデータを追加する例

# データを追記
sheet.append(['新しいデータ', 456, 7.89])

# 保存
workbook.save('file_with_new_data.xlsx')

7. 条件付き書式の設定

from openpyxl.styles import PatternFill
from openpyxl.formatting.rule import CellIsRule

# 条件付き書式を設定
red_fill = PatternFill(start_color="FF0000", end_color="FF0000", fill_type="solid")
rule = CellIsRule(operator="greaterThan", formula=["50"], fill=red_fill)
sheet.conditional_formatting.add("A1:A10", rule)

# 保存
workbook.save('conditional_formatting.xlsx')

8. グラフの作成

from openpyxl.chart import LineChart, Reference

# データ範囲を指定
data = Reference(sheet, min_col=2, min_row=1, max_col=2, max_row=10)

# グラフを作成
chart = LineChart()
chart.add_data(data, titles_from_data=True)

# グラフをシートに挿入
sheet.add_chart(chart, "E5")

# 保存
workbook.save('file_with_chart.xlsx')

9. ファイルのコピーや移動

新しいファイルにシートをコピーする例です。

# シートのコピー
copied_sheet = workbook.copy_worksheet(sheet)
copied_sheet.title = 'CopiedSheet'

# 保存
workbook.save('file_with_copied_sheet.xlsx')

10. まとめ

OpenPyXLを使えば、PythonでExcelファイルを簡単に操作できます。本記事では基本から応用までのコマンドを紹介しました。以下の用途に応用できます:

  • データ入力の自動化
  • データの加工と解析
  • レポートの作成
上部へスクロール