我想创建一个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)
我希望字典看起来像这样:
{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): 'data',datetime.datetime(2013, 6, 18, 6, 0): 'data'...}
谁能告诉我我做错了什么?
这是因为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', ...}
希望有帮助。