gpt4 book ai didi

python - 类型错误 : an integer is required (got type Timestamp)

转载 作者:行者123 更新时间:2023-12-03 15:35:14 30 4
gpt4 key购买 nike

我有一个以下格式的 Excel 表格:

enter image description here

我想用 Python 使用 pandas 读取这个表。模块并计算发行日期和当前日期之间的差异。这是我当前的代码:

    import pandas as pd
import datetime as dt
def abc():
a=pd.read_excel('date time.xlsx')
b=dt.date.today()
print(b)
c=(a['date of issue'])
h=(c[0])
f=dt.datetime(h)
d=b-f
print(d)
abc()

它在第 7 行 ( f=dt.datetime(h)) 中显示错误。它显示 TypeError: an integer is required (got type Timestamp) .

最佳答案

datetime模块是 Python 标准库的一部分。 datetime.datetime 的构造函数类将特定的年、月和日作为参数 (Reference)。你会调用它,例如与 datetime.datetime(2020, 3, 8) .

在您的代码中,您通过 pandas 从 Excel 表中查询特定单元格。图书馆。这个单元格恰好包含一个日期,pandas检测并变成pandas.Timestamp目的。 pandas库不是 Python 标准库的一部分,因此 Python 的 datetime类(class)不知道pandas.Timestamp .当您通过 pandas.Timestampdatetime构造函数,您会收到错误消息 TypeError: an integer is required (got type Timestamp) .这意味着 datetime期望一个整数(指定年份),但收到 pandas.Timestamp ,它不明白。

但是,pandas确实知道datetime并为您提供辅助功能 to_pydatetime转一个pandas.Timestamp变成 datetime对象(reference)。在您的代码中,替换 f 的赋值和:

    f=h.to_pydatetime().date()
to_pydatetime()给你一个 datetime.datetime对象,然后是 .date()把它变成 datetime.date d=b-f 所必需的对象在下一行,正如您分配的 bdatetime.date.today() .

或者,您也可以更改 b 的声明至 b=dt.datetime.now()然后赋值 ff=h.to_pydatetime() .这将为您提供精确的时差,而不仅仅是天数的差异。

关于python - 类型错误 : an integer is required (got type Timestamp),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60586503/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com