2015-09-07 64 views
3

這是「REC」變量用來讀取在Excel工作表的日期,但其打印浮點值如何打印在例如日期格式代碼「2015:09:02」如何使用xlrd讀取日期?

for rec in sorted(out.keys()): 
print reC#printing float values 
print str(out[rec]) 

我輸出:

42240.0 
24 

回答

5

Excel內部存儲日期值作爲浮點數。因此,在xlrd如果要將Excel日期值作爲Python日期值讀取,則必須使用xldate_as_tuple方法獲取日期。

文檔:http://www.lexicon.net/sjmachin/xlrd.html#xlrd.xldate_as_tuple-function

這裏有一個通用的例子:

import datetime, xlrd 
book = xlrd.open_workbook("myexcelfile.xls") 
sh = book.sheet_by_index(0) 
a1 = sh.cell_value(rowx=0, colx=0) 
a1_as_datetime = datetime.datetime(*xlrd.xldate_as_tuple(a1, book.datemode)) 
print 'datetime: %s' % a1_as_datetime 

如果您創建文件myexcelfile.xls並在A1單元格輸入日期和運行上面的代碼,你應該能夠看到正確的日期時間值在a1_as_datetime變量中。