python日期匹配到星期

D.Z*_*Zou 0 python date week-number google-sheets

我正在使用谷歌日历和表格 API 探索 python。基本上它应该在我的日历中记录某些事件,计算有多少,并将其放入我的工作表中。

我从谷歌日历 api 快速入门示例的数组中获得了一些这样的日期信息,所以我知道我可以读取数据,但我需要从每天到每周处理它。

2017-10-23 work
2017-10-24 work
Run Code Online (Sandbox Code Playgroud)

我想将它们折叠成几周。所以上面两行应该折叠成这一行:

Oct 23- Oct 29 2 #2 instances of work.
Run Code Online (Sandbox Code Playgroud)

但我不确定如何实现这一目标。

小智 6

datetime.date有一个isocalendar()方法可以返回一个元组,您可以从中获取日历周。

例如,使用您从 Google Calendar API 获得的数组中的数据:

>>> datetime.date(2017, 10, 23).isocalendar()
(2017, 43, 1)

>>> datetime.date(2017, 10, 24).isocalendar()
(2017, 43, 2)
Run Code Online (Sandbox Code Playgroud)

请注意,这两个事件都发生在一年的第 43 周。

仅获取一周:

>>> datetime.date(2017, 10, 24).isocalendar()[1]
43
Run Code Online (Sandbox Code Playgroud)

从那里,您可以确定事件是否在同一周内重复。处理所有日期、将它们解析为周并聚合它们需要额外的一些编码,但核心将是按周识别事件,您可以使用datetime.datetime.isocalendar().

希望有用!