見出し画像

12月28日 Python学習日記 1日1プログラム! Excel自動化 2-3 プログラムでセルの値を読み書きしよう①

こんばんは。

プログラミングを学び始めて5カ月のかおりです。

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

「2-3 プログラムでセルの値を読み書きしよう」 を実践しました💪


〇ブック→シート→セルの順でアクセスする

・セルの値を読み書きするには、①まずブックの中から対象のシートを取得し、②そのシート内のセルをアドレスで指定する

・操作するときは必ず ブック →シート →セルの順でアクセスする

〇シートの指定は「0番目」からスタートする

・ブックの中には1つ以上のシートが含まれる そこから1つのシートを取得するには、「シート名」または「番号」で指定する

#シート名で指定する2つの方法

#シート名で指定 
ws=wb[シート名]

#0から始まる番号(インデックス番号)で指定
ws=wb.worksheets[番号]

・番号は0から始まるので、1つ目のシートは0番になる

・前節で読み込んだサンプルデータExcelブック「売上データ.xlsx」から、「4月売上という名前のシート」と「2番目のシート」を取得する ※このブックには 4月売上, 5月売上, 6月売上 の3つのシートがある

import openpyxl
wb = openpyxl.load_workbook(売上データ.xlsx) 
ws = wb["4月売上"]  #シート名で指定
print(ws.title) 
ws2 = wb.worksheets[1]  #インデックス番号で指定
print(ws2.title)
実行結果:
4月売上
5月売上

・シート番号で指定する方法は0から数えるので、ws2に代入する「2番目のシート」は、wb.worksheets[1]で取得する。

〇セルの取得

・次は、シートからセルを取得する。シートの中から1つのセルを取得するには、「セル番地」と「行列番号」による2通りの指定方法がある

※注意※シートの指定からは0からではなく、行列番号の指定は1から始める。つまり、行番号=1、列番号=1がA1セルになる。

・取得したセルを変数に代入する。変数名は「Cell」を略した「c」。

#シートからセルを取得する

#セル番地で指定
c = ws[セル番地]

#1から始まる行列番号で指定 
c = ws.cell(行番,列番号)

・前節で読み込んだブックの中の「4月売上」シートから、「A1」セルを2通りの方法を取得する。次のコードのように、1つ目はセル番号「A1」で、2つ目は「行番号=1、列番号=1」で指定する。

import openpyxl

wb = openpyxl.load_workbook("売上データ.xlsx")
ws = wb ["4月売上"]

c = ws ["A1"]     #セル番地で指定
print(c.coordinate)
print(c.row)
print(c.colum)
c2 = ws.cell(1,1) #行列番号で指定
print(c2.coordinate)
print(c2.row)
print(c2.colum)
実行結果:
A1
1
1
A1
1
1

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

本日のエラー : なし

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


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