python - 用 Excel 'date' 格式写入 xlwt 日期

标签 python xlwt

我正在使用 xlwt 制作 .xls 电子表格,我需要创建日期单元格。

我已经写出数字,并设置数字格式字符串使它们看起来像日期,但关键是它们实际上并没有写成日期——如果你在 Excel 中格式化单元格,它是一个“自定义”类别而不是“约会”,这很重要。

我可以让 xlwt 实际写入“日期”单元格吗?

最佳答案

如果您使用与 Excel 的内置格式字符串之一(例如 dd/mm/yyy)相对应的格式字符串,该数字将显示在 Excel 的“日期”类别中。例如:

import xlwt
import datetime

workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('Sheet1')

date_format = xlwt.XFStyle()
date_format.num_format_str = 'dd/mm/yyyy'

worksheet.write(0, 0, datetime.datetime.now(), date_format)

workbook.save('date_format.xls')

如果您修改此示例以使用 d/mm/yyy 格式字符串,则该数字将显示在“自定义”类别中。

注意:以上代码适用于我尝试过的 Excel 版本,但这可能会因地区而异。最好的做法是在 Excel 中使用所需的“日期”格式设置数字格式,然后在同一对话框中单击“自定义”以查看与“日期”格式关联的格式字符串。然后在您的程序中使用它。

另外:Excel XLS 格式中没有任何 native 日期类型。所有日期都存储为数字和格式。除了格式字符串之外,没有什么可以将它们与任何其他具有格式的数字区分开来。这是使解析 Excel 文件变得很痛苦的原因之一,因为您必须应用启发式方法来确定单元格是否包含日期。

关于python - 用 Excel 'date' 格式写入 xlwt 日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17069694/

相关文章:

python - 如何使用 os.walk() python 计算目录的大小?

python - 仅使左侧子图和底部子图(在 MxN 面板中)包含 x 和 y 轴标签

python - 使用 xlwt 卡住 excel 中的单元格

python - 异常是使用 xlwt 和 python 将列表插入到列中

python - 使用 selenium 和 python 从弹出窗口下载并保存多个 csv 文件

python - 如何使用 pycparser 删除 AST 节点?

python - 验证主机名字符串

python - 使用 Python 的 xlwt 模块添加到另一个单元格的链接

python - UnicodeDecodeError 与 xlwt

python - 为什么这个 Python 循环无法输出到下一个可用的 Excel 行?