python勉強中で既に嫌になっているヘタレな管理人です。
本日3日目ですが・・・
もう疲れました。
新しいことを勉強するのは、この歳ではもう辛い・・・
仕事でも新しい事はやりたくないので仕方がありません。
こんなことではいかんとは思うのですが・・・
どうしても身体が拒絶反応を示します。
あわよくば・・・
AIで簡単なシフト表くらいは組めるようになりかったのですが・・・
多分無理ですね。
pythonでの繰り返し処理
さて、とりあえず頑張れるところまでやってみます。
まずはEXCELの繰り返し処理にトライします。
chatgptに聞いてみます。
pytsonでループ処理をさせるコードの事例を教えてください。
以下のように、for文を使ってループ処理を行うことができます。
for i in range(10): print(i)
上記の例では、0から9までの数字が順番に表示されます。
ご参考になれば幸いです。
chatgpt
【for】を使うようです・・・
VBAの様に最後に【NEXT】は不要のようです。
1から10回繰り返す場合は、次の様に記述します。
for i in range(1, 11):
エクセルで繰り返し処理を実行してみる
では、実際にエクセルで繰り返し処理を実行してみます。
コードは次のとおりです。
import openpyxl
# Excel ファイル(ワークブック)の新規作成
wb = openpyxl.Workbook()
# ワークシートの有効化
ws = wb.active
# 文字を入力
for count in range(1, 11):
ws["A" + str(count)] = "文字列" + str(count)
# Excel ファイルを保存
wb.save("F:\\python_work\\excel_test.xlsx")
このコードで・・・
A1からA10セルに・・・
文字列1~文字列10まで繰り返し処理で入力できます。
図の様にファイルが作成され・・・
A1からA10まで文字が入力されました。
EXCELファイルを開く
次に先ほど作成したEXCELファイルを開きます。
コードは次のとおりです。
import openpyxl
# Excel ファイル(ワークブック)を開く
wb1 = openpyxl.load_workbook("F:\\python_work\\excel_test.xlsx")
# ワークシートの有効化
ws1 = wb1.active
print(ws1["A1"].value)
とりあえず、後ほど転記処理をしようと思うので・・・
ワークブックとワークシートは、それぞれ【wb1】【ws1】としておきます。
新規ファイルを作成して転記する
次に新規ファイルを作成して・・・
エクセルからエクセルへの転記作業をしてみます。
下のコードでは・・・
【excel_test.xlsx】のA1~A10を
【excel_test2.xlsx】のA1~A10・B1~B10・C1~C10へ転記して保存しています。
import openpyxl
# Excel ファイル(ワークブック)を開く
wb1 = openpyxl.load_workbook("F:\\python_work\\excel_test.xlsx")
# ワークシートの有効化
ws1 = wb1.active
# 転記先のEXCELファイルを作成する
wb2 = openpyxl.Workbook()
# ワークシートの有効化
ws2 = wb2.active
# ws1 から ws2 へ転記する
for count in range(1,11):
ws2["A" + str(count)].value = ws1["A" + str(count)].value
ws2["B" + str(count)].value = ws1["A" + str(count)].value
ws2["C" + str(count)].value = ws1["A" + str(count)].value
# wb2 を保存する
wb2.save("F:\\python_work\\excel_test2.xlsx")
下の図の様に転記が実行されました。
本日はここまでとします。
コメント