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()」にしておいてもいいのですが、
そちらだと、日付をまたいだ時がめんどそうですね。