0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【完全自動化】Excelを操作するPythonライブラリopenpyxl

0
Posted at

今回はPythonでExcelを操作します!
環境はMac、VSCodeで行っています。
ExcelをPythonで操作するならこの本もおすすめです!


どうやって操作するの?

今回は openpyxl というPythonライブラリを使います。

Excel操作といえば、Microsoftの VBA が有名です。

ただ、Pythonには大量のライブラリがあります。

例えば:

  • SeleniumでWeb操作
  • requestsでAPI通信
  • pandasでデータ分析

などと組み合わせて使えます。

つまり、

  • VBA → Excel専用
  • Python + openpyxl → 外部サービスとも連携可能

という違いがあります。


準備しよう!

openpyxlをインストール

ターミナルで実行します。

pip install openpyxl

これで準備完了です。

Pythonを書き始めよう!

Excelファイルを読み込む

import openpyxl

wb = openpyxl.load_workbook("output.xlsx")

openpyxl.load_workbook() でExcelファイルを読み込めます。

ちなみに wbworkbook の略です。

シートを読み込む

import openpyxl

wb = openpyxl.load_workbook("output.xlsx")

ws = wb["Sheet1"]

wb.save("output.xlsx")

wb["シート名"] でシートを取得できます。

wsworksheet の略です。

シートを追加する

import openpyxl

wb = openpyxl.load_workbook("output.xlsx")

ws = wb.create_sheet("newsheet")

wb.save("output.xlsx")

create_sheet() で新しいシートを追加できます。

シートをコピーする

import openpyxl

wb = openpyxl.load_workbook("output.xlsx")

ws = wb.copy_worksheet(wb["Sheet1"])

ws.title = "Sheet2"

wb.save("output.xlsx")

copy_worksheet() を使うとシートをコピーできます。

シートを削除する

import openpyxl

wb = openpyxl.load_workbook("output.xlsx")

wb.remove(wb["Sheet2"])

wb.save("output.xlsx")

remove() でシートを削除できます。

E## セルを編集する

import openpyxl

wb = openpyxl.load_workbook("output.xlsx")

ws = wb["Sheet1"]

ws["A1"] = "Hello, world!"

wb.save("output.xlsx")

ws["セル番号"] = 値 でセルを編集できます。

セルの値を取得する

import openpyxl

wb = openpyxl.load_workbook("output.xlsx")

ws = wb["Sheet1"]

print(ws["A1"].value)

.value を使うとセルの値を取得できます。

複数のセルを編集する

import openpyxl

wb = openpyxl.load_workbook("output.xlsx")

ws = wb["Sheet1"]

cells = ws["A1":"A31"]

for row in cells:
    for cell in row:
        cell.value = "5"

wb.save("output.xlsx")

ws["A1":"A31"] のように範囲指定できます。

このコードでは、A1〜A31をすべて "5" に変更しています。

まとめ

今回は openpyxl を使ってPythonからExcelを操作してみました。

Pythonは他ライブラリとの連携が非常に強いので、

  • Webスクレイピング
  • 自動化
  • データ分析

などと組み合わせるとかなり便利です。

Excel作業を自動化したいなら、かなりおすすめです。

参考文献

  1. Valmore
    https://valmore.work/how-to-use-openpyxl/#openpyxl
    (2025年3月16日閲覧)
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?