我有一個字典,其中的鍵是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