見出し画像

1月4日 Python学習日記 1日1プログラム! Excel自動化 2-5 シートの操作方法を覚えよう

こんばんは。

未経験からPythonでExcel作業の自動化プログラムを学び始めて6カ月の
かおりです。

今年はPython試験を受験&実務で使えるプログラムを作ります!
本年もどうぞよろしくお願いたします。

今日は、「 PythonでExcel、メール、Webを自動化する本 」より、

「2-5 シートの操作方法を覚えよう」 を実践しました💪 

〇この章のゴール:

よく使うシートの操作もPythonから実行可能である。
日常でよく使用する「挿入」「削除」「名前の変更」「移動またはコピー」をPytnonで実行する。

〇シートの挿入

シートを挿入するには、ブックの変数にcreate_sheet()をドットでつなげて実行する。このとき、かっこの中にindex=番号を指定すると、シートを挿入する位置を指定できる。番号は「0」から始まるので、「0」を指定すると先頭に挿入される。

#挿入位置は0から始まる番号で指定
ws_new = wb.create_sheet(index=番号)

#シートの挿入(末尾)
ws_new = wb.create_sheet()

・「売上データ.xisx」の先頭と末尾にシートを挿入する

・create_sheet()を実行すると同時に挿入したシートが取得できるので、
変数ws_new1、変数ws_new2に代入しておく

・挿入するシートの名前(title)をprint()で実行結果を表示し確認する。

・最後に、売上データ_シート挿入.xlsx としてブックを保存する。

import openpyxl
wb = openpyxl.load_workbook("売上データ.xlsx")
# 先頭に挿入
ws_new1 = wb.create_sheet(index=0)
# 末尾に挿入
ws_new2 = wb.create_sheet()
# シートの名前を表示
print(ws_new1.title)
print(ws_new2.title)
wb.save("売上データ_シート挿入.xlsx")
実行結果:sheet
                  sheet1

画像1


〇シートの削除

シートを削除するには、ブックの変数にremove()をドットでつなげて実行する。このとき、かっこの中に削除したいシートを指定する。

・シートそ削除した元のブックを同じファイル名で「上書き保存」する

#シートを削除
wb.remove(削除するシート)

#シート名を指定して削除
ws = wb[ シート名 ]
wb.remove(ws)
#0から始まる番号を指定してシートを削除
ws = wb.worksheets[ 番号 ]
wb.remove(ws)


さきほど挿入した「売上データ.xisx」にシート挿入して保存した「売上データ_シート挿入.xlsx」から先頭に挿入したシートを削除してみます。

import openpyxl
wb = openpyxl.load_workbook("売上データ_シート挿入.xlsx")
ws = wb.worksheets[0]
wb.remove(ws) #このシートを削除する!
wb.save("売上データ_シート挿入.xlsx")

画像2

・実行すると、先頭の「Sheet」という名前のシートが削除されている


Pythonのメリットの一つに、動くプログラムを実際に体験するまでのスピードが速いことが挙げられると思います。プログラミング学習のモチベーションが高まりますよ!プログラミング初心者の方にはぜひ、PythonでのExcel作業の自動化から体験してみて欲しいです!!

本日のエラー : なし

本日もおつかれさまでした(^^♪

最後までお読み頂きありがとうございました!時間は有限です。ほんのちょっとでもあなたの背中を押せるお手伝いができていたら嬉しいです。「スキ」ボタンを励みに、もっとあなたを応援できるように頑張ります💛