既存のエクセルファイルを編集しているんだけど、更新日時を記録しておきたい!
Pythonで日付や日時を書き込む方法はないの?
そんなお悩みを、Python歴3年の私ができるだけわかりやすく解説し、解決に導きます。
Pythonでエクセルファイルに日付を書き込み保存するには
「datetime」を使います。まずは実行見本をどうぞ。
実行見本
全コード
ひとまず全コードを網羅します。解説は後ほど行います。
import datetime
import openpyxl
today = datetime.datetime.now().strftime('%Y.%m.%d')
nowtime = datetime.datetime.now().strftime('%H:%M')
today_nowtime = datetime.datetime.now().strftime('%Y/%m/%d %H:%M:%S')
today_nowtime2 = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
wb = openpyxl.load_workbook('input.xlsx')
ws = wb['Sheet1']
ws['B1'] = today
ws['B2'] = nowtime
ws['B3'] = today_nowtime
ws['B4'] = today_nowtime2
wb.save('input.xlsx')
import datetime
today = datetime.datetime.now().strftime('%Y.%m.%d')
nowtime = datetime.datetime.now().strftime('%H:%M')
事前準備
- openpyxlのインストール
既存のエクセルファイルを編集するには「openpyxl」のインストールが必要です。
openpyxlのインストール方法
openpyxlを初めて使用する場合は、下記コードを入力・実行して、インストールしてください。
pip install openpyxl
※openpyxlを使用したことがある場合は、このインストール作業は不要です。
datetimeの解説
「datetime」について「インポート」と「書き方」を解説いたします。
datetimeのインポート
日付や日時の取得・出力を行うには「datetime」のインポートが必要です。
まずは下記一文を記述して、datetimeをインポートしましょう。
>>1.import datetime
datetimeの書き方
today = datetime.datetime.now().strftime(‘%Y.%m.%d’)
本日の日付を「today」という変数に入れています。
【 変数 = datetime.datetime.now().strftime(‘表示形式’) 】
日時の表示形式
日時の表示形式について、代表的なものを紹介いたします。
today = datetime.datetime.now().strftime(‘%Y.%m.%d‘)
→2024.01.27
「%Y」を小文字の「%y」にすると、西暦を二桁「24」と表示させることができます。
today = datetime.datetime.now().strftime(‘%y.%m.%d‘)
→24.01.27
「.(ドット)」を「/(スラッシュ)」にすることで年月日の区切りを変更できます。
today = datetime.datetime.now().strftime(‘%y/%m/%d‘)
→24/01/27
※スペースや区切りなしでも表示できます。
nowtime = datetime.datetime.now().strftime(‘%H:%M‘)
→11:49
※24h形式
日付と時間を続けて表示できます。
today_nowtime = datetime.datetime.now().strftime(‘%Y/%m/%d %H:%M:%S‘)
→2024/01/27 11:49:53
today_nowtime2 = datetime.datetime.now().strftime(‘%Y%m%d%H%M%S‘)
→20240127114953
※ファイル出力時、ファイル名に入れることで、ファイル名重複での上書き保存を回避できます。
変数に入った値をファイル名に入れる方法は、下記記事で解説しております。
その他の解説
既存ファイル操作の基本解説は下記記事で行っております。ご参考ください。
うまく動作しない時
エラーが出る
No such file or directory: ○○
これは、読み込むファイルやフォルダが見つからないというエラーです。
読み込むファイルのファイル名と構文のファイル名が一致しているか確認しましょう。
詳しい解説は、下記記事をご参考ください。
Permission denied: ○○
操作しようとしているファイルにアクセスできないというエラーです。
「ファイルを開いている状態なので編集できない」と言っていることが多いので、開いていれば閉じて再度トライしましょう。
詳しい解説は、下記記事をご参考ください。
Worksheet ○○ does not exist
「指定したシートがありません」というエラーです。
指定のシート名が間違っていないか、「sheet1」など先頭が小文字になっていないか確認しましょう。
詳しい解説は、下記記事をご参考ください。
その他のエラー
その他のエラーが出た場合は、エラー文をコピーしてNETで検索してみましょう。
まとめ
Pythonでエクセルファイルに日付を書き込み保存する方法を解説いたしました。
タイムカードなど、使用用途は意外に多いと思います。
当ブログでは、Pythonに関する情報を配信しております。
この記事がわかりやすいと感じた方は、他の記事も読んでいってください。
最後までお読みいただき、ありがとうございました。がんばってください!