我有一个包含多个datetime.datetime
类型变量的变量列表。
I.e。:
a['PrTimeStamp'] # Type list
[0] datetime.datetime(2014, 10, 19, 10, 0) # Type datetime
[1] datetime.datetime(2014, 12, 3, 12, 0) # Type datetime
[2] datetime.datetime(2014, 12, 4, 0, 0) # Type datetime
[3] datetime.datetime(2014, 12, 10, 13, 0) # Type datetime
[4] datetime.datetime(2014, 12, 16, 20, 0) # Type datetime
[5] datetime.datetime(2014, 12, 17, 2, 0) # Type datetime
E.g。如果我将print(a['PrTimeStamp'][0])
打印到屏幕:2014-10-19 10:00:00
。
现在我想将此列表转换为matlab可以轻松读取的格式。 我试着做以下事情:
a['PrTimeStamp'] = a['PrTimeStamp'].strftime("%d-%b-%Y %H:%M:%S"))
但我收到了一个错误:
AttributeError: 'list' object has no attribute 'strftime'
答案 0 :(得分:1)
date[]
for i in a['PrTimeStamp']:
date.append(i.strftime("%d-%b-%Y %H:%M:%S"))
必须是字典有一个键 PrTimeStamp
答案 1 :(得分:0)
我很确定您需要[\d\w]
来格式化日期。类似的东西。
答案 2 :(得分:0)
由于[' PrTimeStamp']是日期时间对象的列表,您需要迭代列表中的每个项目并格式化其中的日期时间对象!
由于您尚未发布整个代码,
a={}
import datetime
a['PrTimeStamp'] = [ datetime.datetime(2014, 10, 19, 10, 0)
, datetime.datetime(2014, 12, 3, 12, 0)
, datetime.datetime(2014, 12, 4, 0, 0)
, datetime.datetime(2014, 12, 10, 13, 0)
, datetime.datetime(2014, 12, 16, 20, 0)
, datetime.datetime(2014, 12, 17, 2, 0)]
#this is what you need!
print [ts.strftime("%d-%b-%Y %H:%M:%S") for ts in a['PrTimeStamp']]
将打印
['19-Oct-2014 10:00:00', '03-Dec-2014 12:00:00', '04-Dec-2014 00:00:00', '10-Dec-2014 13:00:00', '16-Dec-2014 20:00:00', '17-Dec-2014 02:00:00']
希望它有所帮助!