我想创建一个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):'数据' ...}
谁能告诉我我做错了什么?
答案 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', ...}
希望有所帮助。