有没有办法从EXCEL中读取持续时间类型的字段?
问题描述
我试图从Excel文件中读取持续时间字段,但我得到的不是TimeDelta类型,而是DateTime类型。因此,当持续时间值大于24小时时,pythonOpenpyxl不能正确读取该字段。有没有一种正确的方法来读取持续时间字段?import openpyxl
workbook = openpyxl.load_workbook('./files/file.xlsx')
worksheet = workbook.active
cell = worksheet.cell(row=2, column=9)
print(cell.value)
EXCEL文件中的单元格(行=2,列=9)值为38:12:40,但打印输出:
1900-01-01 14:12:40
EXCEL文件中的单元格格式编码-[hh]:mm:ss
解决方案
我认为此解决方案适合您,也许您需要调整格式,但类型为时间增量
cell = worksheet.cell(row=1, column=1)
print(cell.value) #1900-01-01 14:12:40
s = cell.value-datetime.datetime(1899,12,30)
print(s) #2 days, 14:12:40
print(type(s)) #<class 'datetime.timedelta'>
问题是Excel有一个自定义类型,当您放置该格式时,它将从1900年开始将其转换为该类型
相关文章