python - 有没有办法使用 Python openpyxl 从 excel 中读取持续时间类型字段?
问题描述
我正在尝试从 Excel 文件中读取持续时间字段,但我得到的是 datetime 类型,而不是 timedelta 类型。因此,当持续时间值超过 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'>
问题是 Excel 有一个自定义类型,当您输入该格式时,它会从 1900 年开始将其转换为该格式
推荐阅读
- matlab - 从 .txt 文件导入数据
- spring - Spring Boot Rest - 如何接受多个标头
- objective-c - UITableViewCellAccessoryDisclosureIndicator 属性在 iPhone6s 上不显示,但在 XR 和模拟器上它工作正常
- css - 为 SVG 组中的每 N 行着色
- node.js - logger.debug 在使用 log4js 时不是一个函数
- google-cloud-platform - 如何在 Google Container Registry 中获取最后一次拉取时间
- python - 无法导入名称请求
- if-statement - 如果出现错误类型,防止运行时错误
- javascript - 刷新jquery后保持计时器时间继续
- google-chrome - 如何单击 chrome 扩展图标进入选项页面