Masatamagoブログ

今日もカキカキ

記事内に商品プロモーションを含む場合があります。

Excelを操作するPythonライブラリopenpyxl

今回はPythonでExcelを操作します!

環境はMac、VScodeで行なっています。

ExcelをPythonで操作するならこの本もおすすめです!

どうやって操作するの?

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

VBAというMicrosoft社が提供しているプログラミング言語を使うのがExcel操作の王道です。

しかし、Pythonにはさまざまなライブラリがあり、他のライブラリと併用ができます。例えばWebを自動で操作するSeleniumで取得したデータをopenpyxlを使ってExcelに書き込むこともできます。

つまり、VBAはPythonとExcelだけの時しか使えないが、openpyxlは外部との連携でも使えます。

準備しよう!

openpyxlをインストールしよう!

ターミナルで pip install openpyxlと実行すれば完了です。

これで準備は終わりです。

Pythonを書き始めよう!

ここからはデータを編集する上で大事な関数を出します。

エクセルファイルを読み込む

importopenpyxl
wb=openpyxlload_workbook('output.xlsx')

openpyxl.load_workbookでエクセルファイルを読み込めます。

ちなみに、wbというのはworkbookの略です。

シートを読み込む

import openpyxl
wb = openpyxl.load_workbook("output.xlsx")
ws = wb["Sheet1"]
wb.save('output.xlsx')

wbの後ろにかっこで見たいシートの名前を囲むと読み込めます。

wsというのはworksheetの略です。

シートを追加する

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でシートを削除できます。

セルを編集する

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"]
cell = ws["A1":"A31"]
for row in cell:
for cell in row:
cell.value = "5"
wb.save('output.xlsx')

cellは左上と右下を指定します。

そして、forループでA1からA31までを5にします。

まとめ

今回はExcelをPythonで操作してみました。

他のライブラリと一緒に使ってみると面白いかもしれませんね。

参考文献

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