有没有办法从EXCEL中读取持续时间类型的字段?

Is there a way to read duration type field from excel with Python openpyxl?(有没有办法从EXCEL中读取持续时间类型的字段?)
本文介绍了有没有办法从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年开始将其转换为该类型

这篇关于有没有办法从EXCEL中读取持续时间类型的字段?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)