[簡単1行]openpyxlでシート名を変更[シート取得法3選も]

スポンサードリンク
アイキャッチ Python
過去の自分
過去の自分

エクセルのシート名がデフォルトのままだとわかりづらい…。
わかりやすい名前にしたいんだけど、
openpyxlでシート名を変更する方法を教えて!

今の自分
今の自分

了解!簡単にできますよ!
また、シート名を変更するために、
シートを取得する方法も3つ紹介します!

openpyxlでシート名を変更する方法を
python歴3年の私ができるだけわかりやすく解説し、解決に導きます。

スポンサードリンク

openpyxlでシート名を変更するには

title」を使います。まずは実行見本をどうぞ。

実行見本

全コード

ひとまず全コードを網羅します。解説は後ほど行います。

import openpyxl

wb = openpyxl.load_workbook('input.xlsx')
ws = wb['Sheet1']
#ws = wb.worksheets[0]
#ws = wb.active

ws.title = '変更後シート'

wb.save('input.xlsx')

ws.title = ‘変更後シート’

事前準備

  • openpyxlのインストール

既存のエクセルファイルを編集するには「openpyxl」のインストールが必要です。

openpyxlのインストール方法

openpyxlを初めて使用する場合は、下記コードを入力・実行して、インストールしてください。

pip install openpyxl

※openpyxlを使用したことがある場合は、このインストール作業は不要です。

解説

「シート名の変更」「シートを取得する方法」の2つを解説いたします。

シート名を変更

>>8.ws.title = ‘変更後シート’

上記一文にて、取得したワークシートのシート名を変更することができます。
左辺は、ワークシート変数の後ろに「.title」を付けます。
右辺は「変更したいシート名」を記述してください。

【 ワークシート変数.title = ‘変更したいシート名‘ 】

変更後のシート名が既に存在していた場合

変更後のシート名が既に存在していた場合はどうなるのでしょうか。

上書きされてしまいそうですが、実際はそうではありません。

下図のように「○○1」と連番がつけられ、重複や上書きが回避されます。

シートを取得する方法

シートを取得する方法ですが、見本では3種類記述いたしました。

  • シート名を指定して取得:ws = wb[‘Sheet1’]
  • シート番号を指定して取得:ws = wb.worksheets[0]
  • アクティブなシートを取得:ws = wb.active

一つ一つ解説していきます。

シート名を指定して取得

>>ws = wb[‘Sheet1’]

上記のように記述することで、ワークシートのシート名を指定して取得することができます。
シート名を間違えたり、実際には無いシート名を指定するとエラーになりますので、ご注意ください。

【 ワークシート変数 = ワークブック変数[‘取得したいシート名‘] 】

シート番号を指定して取得

>>ws = wb.worksheets[0]

次にシート番号で指定して取得する方法です。

【 ワークシート変数 = ワークブック変数.worksheets[ワークシート番号] 】

「ワークシート番号」ですが、一番左のシートが「0」、その右が[1]という具合になります。
「-1」という指定のしかたをすると、一番右のシートを取得します。(-2なら右から2番目)

このシート番号を指定する方法は、シート名を指定する方法のように「シート名指定間違いでエラー」となることはありません。

しかしながら、シートが2枚しかないのに「10」など、限度を超える指定のしかたをするとエラーになりますので覚えておきましょう。

アクティブなシートを取得

>>ws = wb.active

最後はアクティブなシート(選択されているシート)を取得する方法です。

【 ワークシート変数 = ワークブック変数.active 】

シート名やシート番号を指定する方法と違って、エラーになることはありません。

しかしながら、変更したいシート以外がアクティブになっていた場合、エラーにならずに違うシートの名前が変更されてしまうことになるので、注意が必要です。

関連記事として、別のシートをアクティブにする方法を解説しております。

その他、既存ファイルを開いて保存する方法などの操作の基本解説は、下記記事で行っております。
ご参考ください。

スポンサードリンク

うまく動作しない時

エラーが出る

No such file or directory: ○○

これは、読み込むファイルやフォルダが見つからないというエラーです。
読み込むファイルのファイル名と構文のファイル名が一致しているか確認しましょう。

Permission denied: ○○

操作しようとしているファイルにアクセスできないというエラーです。
ファイルを開いている状態なので編集できない」と言っていることが多いので、開いていれば閉じて再度トライしましょう。
開いていなければ、コンピューターを再起動して再度トライしてみましょう。

Worksheet ○○ does not exist

「指定したシートがありません」というエラーです。
指定のシート名が間違っていないか、「sheet1」など先頭が小文字になっていないか確認しましょう。

list index out of range

規定を超える部分を操作しようとした時に出るエラーです。
今回の場合では、実際にないSheet3(シート番号2)などを指定した場合にも起こります。
ファイルとコードを再確認しましょう。

その他のエラー

その他のエラーが出た場合は、エラー文をコピーしてNETで検索してみましょう。

スポンサードリンク

最後に

openpyxlでシート名を変更する方法を解説いたしました。

シート名変更 = title と覚えてください。

最後までお読みいただき、ありがとうございました。がんばってください!

タイトルとURLをコピーしました