如何使用 xlrd 读取日期?
How to read dates using xlrd?
这是代码,其中 "rec" 变量用于读取 excel sheet 中的日期,但它的打印浮点值如何以日期格式打印,例如 '2015: 09:02'
for rec in sorted(out.keys()):
print rec #printing float values
print str(out[rec])
我得到了输出:
42240.0
24
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
变量中看到正确的日期时间值.
这是代码,其中 "rec" 变量用于读取 excel sheet 中的日期,但它的打印浮点值如何以日期格式打印,例如 '2015: 09:02'
for rec in sorted(out.keys()):
print rec #printing float values
print str(out[rec])
我得到了输出:
42240.0
24
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
变量中看到正确的日期时间值.