有没有办法用Python openpyxl从excel中读取持续时间类型字段?

有没有办法用Python openpyxl从excel中读取持续时间类型字段?,python,openpyxl,Python,Openpyxl,我试图从Excel文件中读取duration字段,但得到的不是timedelta类型,而是datetime类型。因此,当持续时间值大于24小时时,python openpyxl将无法正确读取该字段。使用Python openpyxl读取持续时间字段是否有正确的方法 import openpyxl workbook = openpyxl.load_workbook('./files/file.xlsx') worksheet = workbook.active cell = worksheet

我试图从Excel文件中读取duration字段,但得到的不是timedelta类型,而是datetime类型。因此,当持续时间值大于24小时时,python openpyxl将无法正确读取该字段。使用Python openpyxl读取持续时间字段是否有正确的方法

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

我认为此解决方案适合您,可能您需要调整格式,但类型为timedelta

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'>
cell=工作表。cell(行=1,列=1)
打印(单元格值)#1900-01-01 14:12:40
s=单元格值datetime.datetime(1899,12,30)
印行#2天14:12:40
打印(打印)#

问题是Excel有一个自定义类型,当您输入该格式时,它将从1900年开始将其转换为该格式

我尝试添加数据\u only=True,但没有任何更改。excel文件中没有公式,单元格有[HH]:MM:SS格式,我用手或代码的其他部分在其中写入值(写入timedelta类型的值)。如果单元格的值是24小时-我得到datetime类型字段。