【Python】日付の代入や入力内容の削除を行う。


pythonを使用してExcelファイルの操作を勉強しています。
本日の気づき(復習)は、日付の代入や入力内容の削除に関してです。
pythonでExcelを操作するため、openpyxlというパッケージを使用しています。

発注書とかの書類をエクセルで作ってある場合って多いと思います。
新しいブックを作成するたびに前回のブックをコピーして内容を消して・・・。
そこまでの手間ではありませんが、プログラムで行った方がミスも減るのでお勧めかなとは思います。

と言う訳で、上の様なブック「申請書」を

この様に初期化して、日付だけ当日のモノを入力しておきたいです。

date.todayメソッド

cell.value = date.today()

日付の入力にはdatetimeモジュールを使います。

時刻も記入したい場合は

cell.value = datetime.now()

上記のようにdatetime.nowメソッドを使用します。

入力内容削除

cell.value = None

Noneを代入することで、内容を削除します
セルを削除する訳では無いのでそこは安心です。

最終的なコード

from datetime import date, datetime
from openpyxl import load_workbook

wb = load_workbook('申請書.xlsx')
ws = wb.active

ws['D4'].value = '営業部'
ws['D5'].value = '田中一郎'
ws['D6'].value = date.today()

for row in ws.iter_rows(min_row=9, max_row=ws.max_row-6, min_col=2, max_col=7):
    row[0].value = None
    row[4].value = None
    row[5].value = None

wb.save('申請書_初期化.xlsx')

セルの記述を「=TODAY()」にしておいてもいいのですが、
そちらだと、日付をまたいだ時がめんどそうですね。