2017-03-08 106 views
0

我有一個變量列表,其中包含幾個datetime.datetime類型的變量。轉換datetime.datetime變量列表

即:

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 

例如如果我製作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' 

回答

1
date[] 
for i in a['PrTimeStamp']: 
    date.append(i.strftime("%d-%b-%Y %H:%M:%S")) 

一個必須是字典有一個鍵PrTimeStamp

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'] 

希望它能幫助!

+0

對不起不是很清楚我該如何重新定義變量a [ 'PrTimeStamp']爲「%D-%B-%Y %H:%M:%S「... 我想我不能做以下事情: [a ['PrTimeStamp'] = ts.strftime(」%d-%b-%Y%H:% M:%S「)爲[[PrTimeStamp']]中的ts] – phdstudent

+0

我已經給出了示例輸出!這是否回答你的問題? –