Python 3.x - 字典中的日期时间序列



我想创建一个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', ...}

希望有帮助。

相关内容

  • 没有找到相关文章

最新更新