gpt4 book ai didi

python - openpyxl:将日期转换为数字

转载 作者:行者123 更新时间:2023-12-01 09:30:56 28 4
gpt4 key购买 nike

我从 Google 表格下载了一个 xlsx 文件,由于人们编写“4.5”时的区域设置,Excel 将其解释为“5 月 4 日”。

使用 openpyxl 读取文件时,我识别出 datetime python 类型。

但是当我这样做时:

cell.value = float(cell.value.day + cell.value.month / 10.0)

单元格的类型未更改为float,Excel 仍将其视为日期,如以下示例所示:

>>> import openpyxl as xl
>>> n = xl.Workbook()
>>> s = n.get_active_sheet()
>>> s['A1'] = datetime(2018, 12, 1)
>>> s['A1'].value
datetime.datetime(2018, 12, 1, 0, 0)
>>> s['A1'].value = 2.5
>>> s['A1'].value
datetime.datetime(1900, 1, 2, 12, 0)

如何在单元格上设置值类型?

编辑:我使用的是 openpyxl 版本 2.4,这里描述的行为在 2.5 中不会发生 (s['A1'].value == 2.5) 但是添加行时

>>> n.save('hello.xlsx')

使用 Excel 打开文件,它仍然将其视为日期。

最佳答案

Excel 根据应用于数字的数字格式推断日期和时间类型。您的文件中就是这种情况。将值设置为 4.5 不会改变这一点,您还需要将数字格式设置为“常规”。

关于python - openpyxl:将日期转换为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49971190/

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