openpyxlでエクセルを開く方法【初心者向け】

スポンサードリンク
Python
過去の自分
過去の自分

openpyxlをインストールしたから使いたいんだけど、
まずはエクセルファイルを開く方法を知りたい…。

今の自分
今の自分

なるほど…。
では今回は、「openpyxlでエクセルファイルを開く方法」
できるだけわかりやすく解説いたします。
また「エクセルを保存する方法」も解説いたしますので、
ぜひ最後まで読んでいってください。

著者情報
スポンサードリンク

openpyxlでエクセルを開く方法

「load_workbook」を使います。まずは全コードをお見せします。
解説は後ほど行います。

全コード

下記コードが、openpyxlでエクセルファイルを開いて保存した例です。

import openpyxl

wb = openpyxl.load_workbook('C:/Utatane/input.xlsx')
ws = wb['Sheet1']

wb.save('C:/Utatane/input.xlsx')
wb = openpyxl.load_workbook('C:/Utatane/input.xlsx')
ws = wb['Sheet1']

事前準備

  • openpyxlのインストール

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

openpyxlのインストール方法

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

pip install openpyxl

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

インストールに関する詳細や、インストールができなかった場合の対処法は下記記事で解説しております。
また、既存ファイルを開いて保存する方法など、基本解説も行っておりますのでご参考ください。

解説

※わかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください。

インポート

インポートの説明

まずは「openpyxl」のインポートを行います。

【インポートとは】
「openpyxl」を使えるようにする処理のことです。
「学校の勉強をするために、机の上で教科書(openpyxl)を開く」ようなものだと思ってください。
インポートを行わないと、openpyxlは使えませんのでご注意ください。

下記コードにて、「openpyxl」がインポートされます。

import openpyxl

繰り返しになりますが、この一文を書かないと「openpyxl」は使えませんので、必ず書くようにしてください。

エクセルを開く

続いてエクセルを開くコードです。

wb = openpyxl.load_workbook('C:/Utatane/input.xlsx')
ws = wb['Sheet1']

上記2行にて、エクセルを開く処理を行っています。

エクセルを開く手順は2段階あります。
3行目が「エクセルブックを開く」4行目が「エクセルシートを開く」という処理をするコードです。
まずは「エクセルブック」を開くコードの解説です。

【コードの解説】
新しい名前の変数を書いたら、「=(イコール)」を書きます。

今回はわかりやすく「wb(workbookの略)」という名前の変数にしましたが、何でも構いません。
しかしながら、つけられない名前があったりしますので、下記記事をご参考ください。

イコールの後ろには「openpyxl.load_workbook()」を書きましょう。
()内には開きたいエクセルファイルのパスを書いてください。

【ファイルのパス】とは
ファイルの在りかを示す「住所」のようなものです。
ファイルのパスは「フォルダパス/ファイル名」で構成されています。
まず、フォルダパスですが、ファイルが入っているフォルダを開き、
「アドレスバー(下図の青色部分)」をクリックしてください。これがフォルダパスです。

パスの説明

フォルダパスにファイル名を追加すれば、ファイルのパスが完成します。
「’C:/Utatane/input.xlsx’」
パスは「’(クォーテーション)」で囲ってください。
また、コピペで「C:\\」や「C:¥」になる場合は、「/」に書き直しましょう。

<エクセルブックを開くテンプレ>
【 変数 = openpyxl.load_workbook(‘フォルダパス/ファイル名’) 】

これでエクセルブックが開かれ、変数に格納された形になります。


次に4行目の「エクセルシート」を開くコードの解説です。

ws = wb['Sheet1']

【コードの解説】
また新しい名前の変数を書いたら、イコールを書きます。
イコールの後ろに、3行目で作成した変数(今回はwb)に続けて[]を書きます。
[]内には、開きたいシートの名前を書いてください。
シート名も忘れず「’」で囲ってください。

これでエクセルブック内のシートを開くことができます。

<エクセルブックを開くテンプレ>
【 変数 = ブックが格納された変数[‘シート名’] 】

エクセルを開くには、以上の2つ(エクセルブックを開く & エクセルシートを開く)が必要になりますので、覚えておいてください。

エクセルの保存

エクセルを開いて処理した後は、「保存」という作業が必要になります。
手動でエクセルを編集するときと同じですね。

保存しないと処理した内容は反映されません。
処理の部分は今回割愛しますが、絶対必要な「保存」の方法は解説させていただきます。

wb.save('C:/Utatane/input.xlsx')

上記コードにて、エクセルの保存を行っております。

【コードの解説】
ブックが格納された変数に続けて「.save()」を書きます。
()内には、開いたときと同じパスを書いてください。

これで、エクセルファイルに上書き保存されます。
別名保存をしたい場合は、ファイル名を変えてください。
指定した名前で別名保存されます。

# 別名保存
wb.save('C:/Utatane/output.xlsx')
スポンサードリンク

シート名以外を指定して開く方法

エクセルシートを開く際、今回はシート名を指定して開きました。
しかしながら、シート名がわからないときや、シート名がコロコロ変わるときなどは、適切ではありません。
そこで、シート名以外を指定して開く方法も紹介いたします。

シート番号を指定して開く

ws = wb.worksheets[0]

4行目の右辺で、ブックが格納された変数に続けて、「.worksheets[]」を書きます。
[]内には「シート番号」を記述してください。

【シート番号とは】
シートの順番を表す番号です。
1番左のシートのシート番号は[0]です。[1]ではないので間違えないようにしましょう。
左から2番目のシートは[1]、左から3番目のシートは[2]となります。
シート番号[-1]を指定すると、一番右のシート(下図ではSheet3)を開くことができます。

シート番号の説明画像

これで、シート名がわからなくてもシートを開くことができます。

アクティブシートを指定して開く

ws = wb.active

上記コードにて、アクティブシートを指定して開くことができます。

【アクティブシートとは】
「最終保存する直前に選択されていたシート」のことで、
下図の場合は「Sheet2」がアクティブシートとなります。

アクティブシートの画像

これで、シート名やシートの順番がわからなくても、最終保存された時に開いていたシートを開くことができます。

スポンサードリンク

うまく動作しない場合の対処法

エラーが出る

No such file or directory: ○○

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

詳しい解説は、下記記事をご参考ください。

Permission denied: ○○

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

詳しい解説は、下記記事をご参考ください。

Worksheet ○○ does not exist

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

詳しい解説は、下記記事をご参考ください。

○○ is not defined

今まで出てきていない変数などを処理しようとした時に出るエラーです。
変数名などが間違っていないかチェックしましょう。

詳しい解説は、下記記事をご参考ください。

list index out of range

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

その他のエラー

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

スポンサードリンク

最後に

openpyxlでエクセルを開く方法を解説いたしました。

当ブログでは、Pythonに関する情報を配信しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。

挫折せずにPythonを独学で学習する方法は特におすすめです。

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

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