gpt4 book ai didi

Python:xlrd 从 float 中识别日期

转载 作者:太空狗 更新时间:2023-10-29 20:39:48 25 4
gpt4 key购买 nike

我想在 Python 上使用 xlrd 导入包含文本、数字和日期的文件。

我试过类似的方法:

if "/" in worksheet.cell_value:
do_this
else:
do_that

但这没有用,因为我后来发现日期存储为 float ,而不是字符串。要将它们转换为日期时间类型,我做了:

try:
get_row = str(datetime.datetime(*xlrd.xldate_as_tuple(worksheet.cell_value(i, col - 1), workbook.datemode)))
except:
get_row = unicode(worksheet.cell_value(i, col - 1))

当单元格包含文本时,我有一个异常(exception)。现在我想将数字作为数字,将日期作为日期,因为现在所有数字都已转换为日期。

有什么想法吗?

最佳答案

我认为您可以通过更多地使用 xlrd 中提供的工具来简化这件事:

cell_type = worksheet.cell_type(row - 1, i)
cell_value = worksheet.cell_value(row - 1, i)

if cell_type == xlrd.XL_CELL_DATE:
# Returns a tuple.
dt_tuple = xlrd.xldate_as_tuple(cell_value, workbook.datemode)
# Create datetime object from this tuple.
get_col = datetime.datetime(
dt_tuple[0], dt_tuple[1], dt_tuple[2],
dt_tuple[3], dt_tuple[4], dt_tuple[5]
)
elif cell_type == xlrd.XL_CELL_NUMBER:
get_col = int(cell_value)
else:
get_col = unicode(cell_value)

关于Python:xlrd 从 float 中识别日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17827471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com