なんだかGoodVibes

日々の勉強メモです。

【Python】エクセルの作成・書き込みをしてみる(openpyxlモジュール)

こんにちは。
本日はPythonメモです。

概要

本日はopenpyxlモジュールを使用した
エクセルの作成と書き込みです。


サンプルコード

以下のサンプルでは、

  1. ワークブックを取得
  2. シート名を変更
  3. セルの値を変更
  4. シートの追加
  5. シートの削除
  6. ワークブックの保存

を行っています。

import openpyxl

wb = openpyxl.Workbook()

sh = wb.active
sh.title = 'メイン'

sh = wb['メイン']
sh['A1'] = 'Hello'
sh.cell(row=2, column=1).value = 'World'

wb.create_sheet(index=1, title='シート1')
wb.create_sheet(index=2, title='シート2')

wb.remove(wb['シート2'])

wb.save('work/sample.xlsx')


シート名を変更

変更対象のシートを指定して
タイトルを変更します。

sh = wb.active
sh.title = 'メイン'


セルの値を変更

セルの値を変更する対象のシートを指定して
セルの値を更新します。

書き込む際は、A1形式でもR1C1形式でもOKです。

sh = wb['メイン']
sh['A1'] = 'Hello'
sh.cell(row=2, column=1).value = 'World'


シートの追加・削除

追加の場合はcreate_sheetを使用します。
引数は追加する際のインデックスとシート名です。

削除の場合はremoveを使用します。
引数は削除するシートののWorksheetオブジェクトです。

wb.create_sheet(index=1, title='シート1')
wb.create_sheet(index=2, title='シート2')

wb.remove(wb['シート2'])


ワークブックの保存

保存する場合は、saveを使用します。
引数に保存するファイル名を指定します。

サンプルでは、同一階層にあるworkディレクトリの下に
保存したかったので、work/sample.xlsxと指定しています。

wb.save('work/sample.xlsx')



以上です。