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

如何将datetime64[ns]转换为Timestamp对象?Excel日期兼容问题

解决datetime64[ns] Series转Timestamp对象的问题

你的问题核心不是类型转换,而是**firstDate是一个pandas Series对象**(整体dtype显示为datetime64[ns]),而你手动创建的secondDate是单个Timestamp实例——你的目标函数只能处理单个Timestamp,无法处理Series集合。

下面两种方法可以解决:

方法1:从已有的Series中提取单个Timestamp

因为Series里的每个元素本身就是Timestamp,只是整体类型标注为datetime64[ns],直接用.iloc[0]取出第一个元素即可:

df = pd.read_excel('data.xlsx', sheet_name="data")
firstDate = pd.to_datetime(df[df["column"] == "date"]["end"], format='%Y-%m-%d').iloc[0]
# 此时firstDate就是Timestamp('2020-11-01 00:00:00')

方法2:读取时直接获取单个Timestamp

先定位到目标行的单个值,再转换为datetime,一步到位得到Timestamp:

df = pd.read_excel('data.xlsx', sheet_name="data")
# 先筛选行并取单个值,再转日期
target_date_str = df.loc[df["column"] == "date", "end"].iloc[0]
firstDate = pd.to_datetime(target_date_str, format='%Y-%m-%d')

验证一下:执行后打印firstDate,会和secondDate一样显示为Timestamp('2020-11-01 00:00:00'),就能正常被你的函数处理了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 07:35:15