复制
收藏
提问
简洁

date1 = datetime.strptime(ws_yj.cell(row=j, column=7).value, '%Y-%m-%d') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: strptime() argument 1 must be str, not datetime.datetime

4月前
全网
文档
学术
百科
知识库
时间不限
自动
回答
更专业一些

在使用 datetime.strptime() 函数时,需要确保第一个参数是一个字符串类型的日期时间对象。错误提示 TypeError: strptime() argument 1 must be str, not datetime.datetime 表明传入的参数类型不正确,即第一个参数不是一个字符串,而是一个 datetime.datetime 对象16

根据引用信息1,如果传入的是一个 datetime.datetime 类型的对象,需要先将其转换为字符串类型。可以通过使用 strftime() 方法来实现这一转换。例如,如果有一个 datetime.datetime 对象 now,可以这样转换:

import datetime
now = datetime.datetime.now()
now_str = now.strftime("%Y-%m-%d %H:%M:%S")  # 将 datetime 对象转换为字符串类型

针对您遇到的问题,您需要将 ws_yj.cell(row=j, column=7).value 这个 datetime.datetime 对象转换为字符串。假设 ws_yj.cell(row=j, column=7).value 返回的是一个 datetime.datetime 对象,您可以这样修改代码:

date_string = ws_yj.cell(row=j, column=7).value.strftime('%Y-%m-%d')
date1 = datetime.strptime(date_string, '%Y-%m-%d')

这样,date1 就会是一个正确的 datetime.datetime 对象,而不会抛出类型错误。1

推荐追问
如何修复datetime.strptime() TypeError错误?
datetime.strptime()参数类型错误解决方法
datetime.datetime类型转换为字符串的方法
strptime()函数使用示例
Python中datetime模块常见问题
如何使用Python处理日期和时间错误?
研究模式展开阅读更多资料、详细回答

更专业内容正在努力生成中

以上内容由AI搜集生成,仅供参考

在线客服