datetime词典中的时间序列

时间:2016-07-13 23:16:14

标签: python-3.x datetime dictionary

我想创建一个python词典,其关键是一年中半小时间隔的日期时间。 我有这段代码:

 import datetime as dt
 sDate = dt.datetime(2012,7,1,0,0)
 eDate = dt.datetime(2013,6,30,23,30)
 half_hour = dt.timedelta(minutes=30)
 number_readings = 17520
 dictFilled = {(sDate + half_hour * x) : 'data' for x in range (0,number_readings)}
 print(dictFilled)

我希望dict看起来像这样:

  

{2012-07-01 00:00:00:'数据',2012-07-01 00:30:00:'数据',2012-07-01   01:00:00:'数据' ........}

但我得到了这个输出:

  

{datetime.datetime(2013,2,22,10,30):' data',datetime.datetime(2012,10,24,20,0):'数据&#39 ;,datetime.datetime(2013,6,18,6,0):'数据' ...}

谁能告诉我我做错了什么?

1 个答案:

答案 0 :(得分:1)

这是因为datetime是Python中的对象。您想要打印这些对象的表示。为此,您可以使用str()功能。你的代码是:

import datetime as dt
sDate = dt.datetime(2012,7,1,0,0)
eDate = dt.datetime(2013,6,30,23,30)
half_hour = dt.timedelta(minutes=30)
number_readings = 17520
dictFilled = {str(sDate + half_hour * x) : 'data' for x in range (0,number_readings)}
print(dictFilled)

会给你:

{'2012-07-01 01:00:00': 'data', '2012-07-01 07:00:00': 'data', ...}

希望有所帮助。