OpenPyXLの使い方~Excelからデータを取り出そう~

はじめに

こんにちは。風助です。
今回はOpenPyXLを使い、Excelからデータを取得する方法について学んでいきましょう。
Excelを使ってどんなことを自動化したいですか?
多くの場合でExcelファイルからデータの取得を行うことになると思います。
データを取得するための方法はいくつかあります。今回はその中でも一番基本的な方法を説明していきます。

事前準備

データを取得する前にやらなければいけないことがいくつかあります。
プログラムは万能ではないので、あなたがどのファイルからデータを取得したいか分かりません。
なのでファイルを指定する必要があります。

プログラムと同じディレクトリにExcelファイルがあれば、ファイルの名前を指定するだけでOKです。
違うディレクトリにある場合は絶対パスか相対パスを使ってファイルを指定する必要があります。
その方法は後日投稿する予定なのでそれを見てください。

実際にコードを書いてみよう

事前準備が終わったところで実際にデータを取り出してみましょう。

今回は同じディレクトリにファイルを置いてコードを書いていきます。
使うデータはこれです。ファイルの名前は「読書記録.xlsx」です。

早速コードを書いていきます。

import openpyxl

wb = openpyxl.load_workbook('読書記録.xlsx')
ws = wb['Sheet1']

# セルの値を取得する
value = ws['B2'].value
print(value)

value2 = ws.cell(row=2, column=2).value
print(value2)

>>>日付
>>>日付

簡単な「セル一つだけを指定してデータを取得する」プログラムです。
2種類のやり方で同じセルを指定しています。順を追って説明します。

まずはインポート。次にワークブック、ワークシートを指定します。
openpyxl.load_workbook()でワークブックを指定します。
wb[‘Sheet1’]でワークシートを指定します。この時大文字小文字を間違えると指定に失敗するので注意してください。

ここからはセルを指定していきます。

valueの方はセルの座標をなじみ深い「アルファベット+数字」で入力する方法です。
大かっこの中にセルの座標を入れます。

value2の方はセルの座標を数値で表しています。rowは行番号、columnは列番号を表します。
このコードでは2行目、2列目を指定しているわけです。

.valueって何?となる人もいるでしょう。
これは「値」という意味の英単語です。英語に強い人ならすぐわかったかもしれませんが、私は分かりませんでした。googleさんに感謝。
この.valueを付けると指定したセルの「値」が返されます。
付けないと<Cell ‘Sheet1’.B2>といった具合に座標データが帰ってきます。

おわりに

今回はセルを指定し、そこからデータを取得する方法について書きました。
次回は複数のセルを指定する方法について書いていきます。

今後もPython関連の投稿をしていくので応援よろしくお願いします。

noteもやっているので暇なら見て

風助|note
こんにちは。風助です。脱社畜を目指すオタクです。投稿からある程度日数経ったら有料にします。ちなみに環境はwindows10Home、それとPython3.9

では次回までさようなら。

コメント

  1. zoritoler imol より:

    I have been surfing on-line more than 3 hours as of late, but I never discovered any attention-grabbing article like yours. It is beautiful value sufficient for me. In my opinion, if all web owners and bloggers made good content material as you did, the web will probably be much more useful than ever before.

  2. graliontorile より:

    I haven¦t checked in here for some time because I thought it was getting boring, but the last several posts are good quality so I guess I¦ll add you back to my everyday bloglist. You deserve it my friend 🙂

  3. togel hongkong より:

    For the reason that the admin of this site is working, no uncertainty very quickly it will be renowned, due to its quality contents.

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