"date time.date"对象的描述符"strftime"不适用于"int"对象

上课学了绘制柱状图,有一步是多个日期转化,我是跟着xx的代码写的,唯一的不同是’%Y%m%d’,因为我所用的Excel表格里的数据没有-,报错貌似也不是这个问题,那么为什么一直报错"date time.date"对象的描述符"strftime"不适用于"int"对象,要如何修改才是正确的啊

import datetime
data2.index=pd.Series(data2.index).apply(lambda x:datetime.datetime.strftime(x,'%Y%m%d'))

望采纳

  • 这个错误的原因是,你在使用 strftime 函数将日期字符串转换为格式化字符串时,传递的参数应该是 datetime 对象,而不是整数。
  • 要解决这个错误,你需要先将日期字符串解析为 datetime 对象,然后再使用 strftime 函数将其格式化为你想要的格式。例如:
import datetime

# 将日期字符串解析为 datetime 对象
date = datetime.datetime.strptime("20221223", "%Y%m%d")

# 使用 strftime 函数将 datetime 对象格式化为字符串
formatted_date = date.strftime("%Y%m%d")

print(formatted_date)  # 输出 "20221223"

如果你的数据中有多个日期字符串,可以使用如下代码将它们转换为格式化字符串:

import datetime

date_strings = ["20221223", "20221224", "20221225"]
formatted_dates = []

for date_string in date_strings:
    # 将日期字符串解析为 datetime 对象
    date = datetime.datetime.strptime(date_string, "%Y%m%d")

    # 使用 strftime 函数将 datetime 对象格式化为字符串
    formatted_date = date.strftime("%Y%m%d")
    formatted_dates.append(formatted_date)

print(formatted_dates)  # 输出 ["20221223", "20221224", "20221225"]