2012-09-10 62 views
3

我想學習使用Python中的xlrd包來讀取Excel文件,並且我製作了一個包含時間日期列表的示例文件,並在第二列中它對應的星期幾。Python - 導入Excel日期轉換爲數字

問題是,當我讀取數據時,它將其顯示爲一個數字。我怎樣才能得到日期來顯示它應該的方式?

[u'Date', u'Day'] 
[41162.0, u'Monday'] 
[41163.0, u'Tuesday'] 
[41164.0, u'Wednesday'] 
[41165.0, u'Thursday'] 
[41166.0, u'Friday'] 
+0

如果我記得不錯的工作,Excel的內部日期格式的天數從它的時代開始。小數位用於小時/分鐘。 –

+4

函數[xlrd.xldate_as_tuple-function](http://www.lexicon.net/sjmachin/xlrd.html#xlrd.xldate_as_tuple-function)應該是您正在查找的內容。 –

+0

bah pedro您的評論擊敗了我的回答:P. –

回答

8

你想

wb = xlrd.open_workbook("somewb.xls") 
my_date_tuple = xlrd.xldate_as_tuple(xls_timestamp_number,wb.datemode) 

然後返回的日期元組是容易得多:)

5
>>> import datetime 
>>> datetime.datetime(1899,12,30) + datetime.timedelta(days=int(41162.0)) 
datetime.datetime(2012, 9, 10, 0, 0)