我有一个字典,其中的键是datetime.datetime &这些值是推文列表。所以它看起来像这样:在datetime对象中过滤日期月
{datetime.datetime(2017, 9, 30, 19, 55, 20) : ['this is some tweet text'],
datetime.datetime(2017, 9, 30, 19, 55, 20) : ['this is another tweet']...
我试图得到一年中每个月发出的推文的数量。到目前为止,我有...
startDate = 10
endDate= 11
start = True
while start:
for k,v in tweetDict.items():
endDate-=1
startDate-=1
datetimeStart = datetime(2017, startDate, 1)
datetimeEnd = datetime(2017,endDate, 1)
print(datetimeStart, datetimeEnd)
if datetimeStart < k < datetimeEnd:
print(v)
if endDate == 2:
start = False
break
只打印(我知道print语句)...
2017-08-01 00:00:00 2017-09-01 00:00:00
2017-07-01 00:00:00 2017-08-01 00:00:00
2017-06-01 00:00:00 2017-07-01 00:00:00
2017-05-01 00:00:00 2017-06-01 00:00:00
2017-04-01 00:00:00 2017-05-01 00:00:00
2017-03-01 00:00:00 2017-04-01 00:00:00
2017-02-01 00:00:00 2017-03-01 00:00:00
2017-01-01 00:00:00 2017-02-01 00:00:00
而不是实际的鸣叫自己。我期待着类似...
2017-08-01 00:00:00 2017-09-01 00:00:00
['heres a tweet']
['theres a tweet']
2017-07-01 00:00:00 2017-08-01 00:00:00
['there only 1 tweet for this month']....
我有点卡住了,我怎么能做到这一点?
我在这个例子中看到了groupby会更容易,但是我仍然在for循环的第一行中,在'(k,v)'的下面得到'SyntaxError'。我正在使用python 3.这会有所作为,因为你的代码看起来像python 2吗? – e1v1s
啊,是的,道歉,@ e1v1s将所有'print x'改成'print(x)'(我没有在这台机器上安装python 3)。 – Bahrom
是的,我已经在打印语句中添加了括号。在上面的评论中提到了'Syntax Error' :) – e1v1s