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ファイルを簡単に操作できます。本記事では基本から応用までのコマンドを紹介しました。以下の用途に応用できます:
- データ入力の自動化
- データの加工と解析
- レポートの作成