2016-07-21 32 views
0

含有SAS導入數據A蟒數據幀「DFF」由具有日期字段,其類型是表示由蟒如下:轉換數據幀的對象置於日期的Python

dff.effvdate.head() 
Out[47]: 
0 b'09JUL2013' 
1 b'17OCT2013' 
2 b'03MAR2014' 
3 b'08MAY2014' 
4 b'10MAR2015' 
Name: effvdate, dtype: object 

我試圖這個日期轉換datetype如下圖所示:

dff['REPORT_MONTH'] =[dt.datetime.strptime(d,"%d%b%Y").date() for d in dff['effvdate']] 

顯示此錯誤

TypeError: strptime() argument 1 must be str, not bytes 

由於我是新來的蟒蛇,需要幫助這一點。

回答

0

錯誤TypeError: strptime() argument 1 must be str, not bytes給你你需要知道的信息! d以字節爲單位,而不是字符串。你應該把d轉換成字符串。

dff['REPORT_MONTH'] =[dt.datetime.strptime(d.decode('UTF-8'),"%d%b%Y").date() for d in dff['effvdate']] 

應該工作。

請參閱What does the 'b' character do in front of a string literal?

+0

非常感謝。有用。但是,當我將這個日期保存在我的數據框中時,它仍將其顯示爲「對象」,爲什麼?實際上「對象」是什麼? – FarrukhJ

+0

https://docs.python.org/2/tutorial/classes.html – honi

+0

對象是一種具有屬性的東西。這基本上是python中的一切。 – honi