毎日、Twitterで日々の成果や頑張りをツイートしてします!

【Python】openpyxlでExcelファイルを読み込む方法を解説

アイキャッチ画像
カズトン

みなさん、おはようございます!

カズトンです!

Pythonを使ってExcel操作をするなら、Pythonのライブラリである”OpenPyXl”が有名ですよね。

PythonでExcel操作をするためには、以下の手順で行います。

手順
  • PythonにExcelファイルを読み込む。
  • セルの結合や中央揃え、文字を代入するなどの加工をする。
カズトン

PythonでExcel操作をするためには”初めのステップ”であるExcelファイルを読み込むことからすべてが始まりますね!

そこで、初めに悩むところは「OpenPyXlでExcelを操作ができるのは、わかったけど・・・どうやってExcelファイルを読み込むんだろ?」だと思います。

その悩みを解決できれば、Excel操作もなんてことはありません!

pythonを少し勉強するだけでExcelを自動化することが可能になります。

自分もExcelの事務仕事は、全部Pythonくんに任せています。

1日かかってた作業が、一度プログラムを作ってしまえばボタンをポチっとするだけで作業がおわってしまいます。

「Python最高!」、「Excel自動化最高!」ということですね!笑


本記事では、Pythonのライブラリである”OpenPyXl”でExcelファイルを読み込む方法を解説します。

この記事では、以下の環境で作成しました。

環境バージョン
Python2.7.16
OpenPyXl1.2.4
Excel2019年版
Mac OS12.0.1
作業した環境のバージョン

では、スタートです!

事前準備の確認

まずは、事前準備ができているか確認しましょう。

Pythonをダウンロードしていない方は、こちらから。

ここでは、以下の2つを確認しておきます。

  • OpenPyXlとはなにか
  • OpenPyXlのインストール方法

OpenPyXlとは

OpenPyXlとは、Excelファイル(.xlsx)の読み書きをPythonで行うことができるライブラリです。

OpenPyXlを利用すると以下のようなことがボタン一つでできるようになります。

Openpyxlでできること
  • セルの結合。
  • 指定したセルに、数字や文字を書き込む。
  • 書式の型を作成。
  • 範囲を指定してコピペ。
  • 中央揃えやフォントの変更。
  • 印刷範囲を指定。

などなど…

上で紹介したこと以外にも、色々なことができるようになります。

また、たくさん記事にしていこうと思います。

OpenPyXlのインストール方法

OpenPyXlをパソコンにインストールしていない人は、事前にインストールしておきましょう。

MacとWindowsでは、インストールの方法が異なります。

それぞれのインストール方法を解説していきます。

Macを使っている方

Mac OSを使っている方の手順は以下の通りです。

Macの手順
  1. ターミナルを起動する。
  2. 以下のコマンドを入力する。
  3. Enterキーを押す。
  4. インストールが完了するまで待つ。
pip3 install openpyxl

Windowsを使っている方

Windowsを使っている方の手順は以下の通りです。

Macの手順
  1. コマンドプロンプトを起動する。
  2. 以下のコマンドを入力する。
  3. Enterキーを押す。
  4. インストールが完了するまで待つ。
pip install openpyxl

OpenPyXlを使って、Excelファイルを読み込む方法

ここから、OpenPyXlを使ってExcelファイルを読み込む方法を紹介します。

先に、プログラミングコードを紹介してから一行ずつの解説を行います。

OpenPyXlについて詳しく知らなくても、コピペだけでも操作は可能です。

「詳しく知りたい!」という方は、解説をご覧ください。

プログラミングコードの紹介

OpenPyXlを使ってExcelファイルを読み込むコードは、以下の通りです。

今回は、Excelファイルの中にある特定のシートの取得も一緒に紹介します。

import openpyxl #ライブラリのインポート

excel_file = openpyxl.load_workbook('Excelファイル名') #Excelファイルを読み込み
excel_file_sheet_1 = excel_file['シート名'] #Excelファイルの中の特定のシートを取得

プログラミングコードを解説

ここでは、先ほど紹介したコードを一行ずつ説明していきます。

1行目.ライブラリーのインポート

import openpyxl

1行目に書いたコードは、「これから、OpenPyXlのライブラリを使うぞ!」と宣言するものです。

この宣言がないと、OpenPyXlが利用することができませんので注意をしてください。

もちろんですが、他のライブラリを使う場合も同様に宣言をしてください。

宣言は、「import ライブラリ名」 としてください。

2行目.Excelファイルの読み込み

excel_file = openpyxl.load_workbook('Excelファイル名') 

load_workbookメソッドの引数にExcelのファイル名を渡すことで、Excelファイルを読み込むことができます。

excel_fileという名前の変数に、読み込んだExcelファイルのデータを格納します。

カズトン

Excelファイルのことを”workbook”というらしいよ。

だから、load_workbookというメソッド名なんだね!

あと、今回はわかりやすく変数名をexcel_fileとしているけど、よく”wb”とすることが多いよ。

workbookの頭文字を取った略だね!(Work Book)

3行目.ファイル内にある特定のシートを取得

excel_file_sheet_1 = excel_file['シート名'] 

Excelファイルのデータを格納した変数名(excel_file)のあとに[‘取得したいシート名’]と続けることで、Excel内にある特定のシートを取得することができます。

excel_file_sheet_1という名前の変数に、シートのデータを格納します。

カズトン

Excelファイルを開いたときのシートを取得したいときは、excel_file.activeでOKらいよ!

シートのインデックスで取得もできたりするらしい。

インデックスだとfor文に使う時に楽そうだな笑

実例

ここからは実際にコードを書いて確認してみましょう!

今回、実際に行う動作は、以下の通りです。

行う動作
  1. excelファイルを読み込む。
  2. 1枚目のシートの中にあるデータを取得。
  3. 2枚目のシートの中にあるデータを取得。

用意したExcelファイル

今回の動作確認用にExcelファイルを用意しましたので、使ってみて下さい。

ファイルのダウンロード

ファイルの構成

今回は、「商品.xlsx」といファイル名を使います。

シートは、以下のように「果物」と「野菜」という名前の2つで構成されています。

シートの種類

1つ目のシートでは、以下のデータを用意しました。

シート1のデータ

また、2つ目のシートも以下のデータを用意しました。

シート2のデータ

動作確認

これから、Pythonファイルにコードを書いていきます。

Excelファイルは上からダウンロードしてください。

Pythonファイルは、こちらで準備していませんので作成をお願いします。

今回のファイル名は、「practice.py」という名前で作成します。

Step1

まずは、ダウンロードしたExcelファイルを読み込みましょう。

import openpyxl

excel_file = openpyxl.load_workbook('商品.xlsx')

もちろんですが、1行目に「ライブラリのOpenPyXlを使うぞ!」と宣言をしています。

Step2

続いて、一枚目のシート内にあるセル番地A1のデータを取得しようと思います。

excel_file_sheet_1 = excel_file['果物']
print(excel_file_sheet_1['A1'].value)

実行すると、「リンゴ」と返ってくるはずです。

結果
リンゴ
カズトン

excelのデータを取得するときは、

シートのデータが入った変数[‘セル番地’].value

で取得することができるぞ!

詳しくは、別の記事を作ろうと思ってる!

Step3

今度は、二番目のシートからレタスの値段を取得しようと思います。

excel_file_sheet_2 = excel_file['野菜']
print(excel_file_sheet_2['D11'].value)

実行してみましょう。

結果
200円

同じ結果が帰ってくればOKです。

ちゃんとExcelファイルを読み込むことに成功しています。

コードをまとめると

Step1〜3までのコードをまとめておきました。

import openpyxl #ライブラリをインポート

excel_file = openpyxl.load_workbook('商品.xlsx') #Excelファイルを読み込む

excel_file_sheet_1 = excel_file['果物'] #シート1つ目の果物を取得
print(excel_file_sheet_1['A1'].value) #A1のデータを取得

excel_file_sheet_2 = excel_file['野菜'] #シート2つ目の野菜を取得
print(excel_file_sheet_2['D11'].value) #レタスの値段を取得

おすすめの商品

PythonでExcel自動化をしようと思っている人は、この本をおすすめします。

また、MacでExcelを使いたい人は、永久ライセンスがおすすめ!

サブスクリプションから永久ライセンスに変える時は、一度サブスクリプションを解除しなければいけません。

解除方法はこちらの記事で説明していますので、見て下さい!

アイキャッチ画像

終わりに

最後まで読んでくれてありがとう

最後まで、読んでくださりありがとうございます!

ちゃんと、Excelファイルを読み込むことができましたか?

OpenPyXlを使うと、Excelを自在に操作することができます。

事務仕事をしている方には、とても強い味方になってくれるでしょう!

では、また!