動いてたけど、急に動かなくなって以下のエラーを出すようになったので対応した。
ValueError: The date must be a year with format YYYY.
今回はググってもいい記事がすんなり見つからなかったので試行錯誤しました。
原因解析
Colabで変数を@markdownで先に入力しており、4桁の数値をstring型を指定して入力していました。
そしていざ実行用のコードで変数を確認すると「<class ‘datetime.date’>」になってしまって発生したようです。
そのため実行環境で変数を使わずに数値を直接打つとエラーが発生しなかった。
解決
変数を以下のように指定していた。
date = “2022”
がその次の実行用のコードでは以下をimportしていた。
import datetime
このimport文により変数dateがおそらく「<class ‘datetime.date’>」に変換されてしまった様子。
そこで変数の名前を変更したところエラー回避できました。
chooseYear=”2022″
おまけ
合間に以下を試してみたけれど、string型じゃなきゃダメと怒られて、だめでした。
date.strftime(‘%Y’)
おわり
モジュール読み込みによって変数が干渉するということがあるんですね。いい勉強になった。