You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用xlwt创建Excel工作表时添加datetime作为名称报错如何解决?

错误原因

datetime.now()返回的是datetime.datetime类型的时间对象,不是字符串,Python不支持直接将字符串和非字符串类型做拼接操作,因此触发了TypeError报错。
额外注意:Excel工作表名称不允许包含/ \ ? * : [ ]这类特殊字符,转换时间格式时需要避开这类字符,否则后续操作也会触发报错。

解决方法
  • 调用datetime对象的strftime()方法,将时间对象转换为符合命名规则的字符串,推荐使用无特殊字符的%Y%m%d_%H%M%S格式(对应输出样例:20240520_154216,含义为年月日_时分秒)
  • 再将格式化后的时间字符串和工作表名前缀拼接即可

正确代码示例(对应你from datetime import datetime的导入方式):

# 先格式化时间为字符串
time_suffix = datetime.now().strftime('%Y%m%d_%H%M%S')
# 拼接后创建工作表
sheet1 = wb.add_sheet('applied job list' + time_suffix)

如果你是用import datetime的方式导入的datetime模块,需要将时间生成部分调整为:

time_suffix = datetime.datetime.now().strftime('%Y%m%d_%H%M%S')

你可以根据自己的需求调整strftime的格式参数,比如仅保留日期可以用%Y%m%d,输出样式为20240520。

内容的提问来源于stack exchange,提问作者Akash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 18:27:03