Python Excel日期/时间有问题

ter*_*ghn 4 python excel datetime xlrd xlwt

我正在尝试使用Python读取excel表的日期/时间,但我只想读取时间,以便我可以对其进行计算.例如,如果我有格式的日期:3/11/2003 4:03:00 AM 在我的Excel工作表上,我怎么能用4:03:00Python 阅读?我最终希望能够从阅读时间中减去小时,分钟或秒.

ale*_*cxe 7

最好的办法是将日期转换日期时间使用xldate_as_tuple.假设您在单元格中有一个test.xls文件:3/11/2003 4:03:00 AMA1

from datetime import datetime, timedelta
import xlrd

book = xlrd.open_workbook(filename='test.xls')
sheet = book.sheet_by_name('Sheet1')

date = sheet.cell_value(0, 0)
datetime_value = datetime(*xlrd.xldate_as_tuple(date, 0))

print datetime_value  # prints 2003-11-03 04:03:00
print datetime_value.time()  # 04:03:00
print datetime_value - timedelta(hours=1)  # prints 2003-11-03 03:03:00
Run Code Online (Sandbox Code Playgroud)

希望有所帮助.