先日投稿した、前月1ヶ月間のGA4データをスプレッドシートに出力するスクリプトで、
前月の初日を算出する下記のスクリプト
# 前月1日の値を出す
lastmonth_1st = datetime.datetime(today.year, today.month -1, 1)
を1月に動作させると「ValueError: month must be in 1..12」というエラーが出ることがわかったので、修正しました。
Pythonでは、1月1日からマイナス1日で計算したときは前年の12月31日になってくれるのに、
マイナス1ヶ月で計算したときは12月1日とはならず、エラーになってしまうようです。
仕方ないので、下記のように修正しました。
if today.month == 1:
lastmonth_1st = datetime.datetime(today.year -1, 12, 1)
else:
lastmonth_1st = datetime.datetime(today.year, today.month -1, 1)
シンプルに、データ取得日が1月のときだけ、If文で条件分けするようにしています。
以上、ご参考になれば幸いです。