【Python】openpyxlでExcelのシートを読み込み・追加・新規作成・コピー・名前の変更する方法

PythonでExcel操作をするためにはopenpyxlモジュールが必要です。pipでインストールしてから使う必要があります。

以下ではワークブック(Excelファイル)は開いているものとして解説していきます。これから紹介するメソッドや関数は以下のコードの下に続いているものとして考えてください。

Excelファイルの読み込みからシートの取得までの方法は以下の記事にまとめています。

関連記事

PythonでExcel操作をするときには必ずファイル(ワークブック)の読み込みからシートの指定をする必要があります。 今回はそんな基本的な部分のコードの書き方を3ステップで紹介していきます。 1:openpyxlモジュールの[…]

Excelファイルが開かれるとWorbookオブジェクトが作られます。ワークシートを開くとWorksheetオブジェクトが作られます。

シートを読み込み

Workbookオブジェクトにシート名を指定

辞書のようにシート名をキーとして指定するとWorksheetオブジェクトを作ることができます。

その他のシートを読み込む方法は以下の記事にまとめいています。

関連記事

PythonでExcel操作をするときには必ずファイル(ワークブック)の読み込みからシートの指定をする必要があります。 今回はそんな基本的な部分のコードの書き方を3ステップで紹介していきます。 1:openpyxlモジュールの[…]

シートを追加(新規作成)

  • create_sheetメソッドを使う
  • 引数なしなら「Sheet」を末尾に追加
  • indexとtitleをキーワード引数で渡せる

キーワード引数はインデックスだけでもタイトルだけでも構いません。インデックスだけ指定するとシート名は自動で割り振られます。

インデックスの指定方法はリストと同じように0から始まる整数を使いいます。

sheetnames属性を使うとワークブックないのシート名一覧を取得できます。

シートを削除

  • remove_sheetメソッドを使う
    • 警告が出ますが削除できます
  • removeメソッドを使う
    • 引数にWorksheetオブジェクトを渡す
  • del文を使う

「DeprecationWarning」とう警告文は「remove_sheetメソッドではなく「removeメソッドかdel文を使ってね」という内容です。

シートをコピー

  • copy_worksheetメソッドを使う
  • 引数にWorksheetオブジェクトを渡す

シートの名前を変える

title属性を変更する

まとめ

  • 追加・新規作成:create_sheetメソッド
    • 引数はシート名
  • 削除:removeメソッド
    • 引数はWorksheetオブジェクト
  • コピー:copy_worksheetメソッド
    • 引数はWorksheetオブジェクト
  • 名前の変更:title属性

関連記事

プログラミング言語のなかでも人気の高いPythonを学習する教材を紹介します。 最近ではプログラミングスククールがたくさんあるので迷うと思います。 ですが、まずは無料教材から始めてみましょう。苦労した分だけ力がつきます。 […]