【Python】openpyxlでエクセル連携は超簡単|初めてのworkbookに挑戦

python全般 openpyxlを使ってエクセル連携の巻
お悩みさん

Pythonとエクセルを連携させる方法を教えて〜

この記事では、workbookの機能を使って、Pythonでエクセルにアクセスする方法をお伝えしていきます。

Pythonとエクセルの連携は、驚くほど簡単にできてしまうので、ぜひ業務に活用してみてください。

この記事で学べること
  1. openpyxlのダウンロード方法
  2. PythonとExelの連携方法
  3. セル情報の取得方法

環境

OSMac 10.15.4
Pythonpython 3.9
仮想環境Poetry
Homebrew8.0.19 Homebrew
目次

【下準備①】openpyxlのダウンロード

まずはPythonでエクセル操作を使えるようにするため、Pythonのライブラリにopenpyxlをインストールします。

pip  install openpyxl

poetryを使っている方は、以下のコマンドを実行してください。

poetry run pip  install openpyxl

以下のような表示がでれば、インストール完了です。

Collecting openpyxl
  Downloading openpyxl-3.0.7-py2.py3-none-any.whl (243 kB)
     |████████████████████████████████| 243 kB 2.1 MB/s
Collecting et-xmlfile
  Downloading et_xmlfile-1.1.0-py3-none-any.whl (4.7 kB)
Installing collected packages: et-xmlfile, openpyxl
Successfully installed et-xmlfile-1.1.0 openpyxl-3.0.7

これでPyhon側の下準備ができました。

【下準備②】Pythonスクリプトとエクセルファイルの準備

続いては、フォルダを準備します。

空のPythonファイルと、エクセルデータを、フォルダに入れています。

Pythonファイル:excel.pyを作成しています。

excelファイル:test.xlsxを作成しています。

どちらも任意の名前で問題ありません。

この2つを分かりやすく同じフォルダで管理して作成をしていきます。

Pythonとエクセルのの連携

準備ができたので、実際にファイルの作成に取り掛かります。

といっても、非常に簡単な内容です。

仕様は、エクセルのA1セルに、Pythonを使って”Hello”を書き込むというだけの

とっても簡単なコードを今回は書いていきます。

スクリプトの中身

import openpyxl as op

excelfile = op.Workbook()
write = excelfile.active


write["A1"].value = "Hello"
print(write["A1"].value)


excelfile.save("test.xlsx")

今回はこれで完了です!

workbookの解説

エクセルを使う際は、Workbookの機能を使います。

今回は、excelfileという名前をつけているので、基本的には、excelfile.○○という処理をしています。

ちなみに、お分かりの通り、以下は、A1のセルに、”Hello”を記述する命令です。

write["A1"].value = "Hello"

あえて説明を簡単にするために、上記のスクリプトを書きましたが、ご自身でいろいろとトライしてみてください。

openpyxlの参考ページはこちらです。

実行結果

最後に、スクリプトを実行して結果を確認してみます。

Hello

シェル上では、Helloが無事に返ってきました。

エクセルデータ(test.xlsx)の方も確認してみます。

クリワン

A1セルに、ちゃんとHelloが記載されてる!

エクセルデータもも更新が確認できました。

まとめ

エクセルは、スプレッドシートと違い、オフライン環境で使うことができるので、Google APIのような手間のかかる設定がいらないのが非常にありがたいです。

職場によっては、セキュリティ上の都合で、Python側にスプレッドシートの権限を与えられないこともあるので、エクセルとPythonの連携をマスターしておくととても便利です。

参考

より詳しいチュートリアルは、公式ページに掲載されています。

英語ですが、よければこちらも参考にしてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

節約に励むマーケターです!30歳を機に別職種から、マーケターにキャリアチェンジ。IT企業で専任のマーケターをしています。0からプログラミングを学びはじめました! ★データサイエンティストの勉強中です!お問合せはこちら!

コメント

コメントする

CAPTCHA


目次