4

I'm parsing weekly time series data from a source that shows dates using a year and week number. However, when trying to use Python's datetime.strptime function to turn these into YYYY-MM-DD dates, two different week numbers sometimes evaluate to the same date, when I know that they should not. The weekly data is for the week ending on a Friday. For example:

datetime.strptime("1998-5-53", "%Y-%w-%U")
Out[43]: datetime.datetime(1999, 1, 8, 0, 0)

datetime.strptime("1999-5-01", "%Y-%w-%U")
Out[44]: datetime.datetime(1999, 1, 8, 0, 0)

The underlying data from the European Central Bank; an example series is here.

4

1 に答える 1

1

1998 年には 53 週がありませんでした。12 月 31 日は第 52 週です。

>>> datetime.strptime("1998-4-52", "%Y-%w-%U")
datetime.datetime(1998, 12, 31, 0, 0)

%U状態のドキュメントに注意してください。

10 進数 [00,53] としての年の週番号 (週の最初の日としての日曜日)。新年の最初の日曜日より前のすべての日は、第 0 週と見なされます。

データ ソースが、最初の日曜日より前の日数を代わりに第 1 週として認識している可能性があります。

于 2013-01-28T14:57:26.697 に答える