如何将日期时间对象转换为浮点数?属性错误: 'datetime.datetime'对象没有属性'datetime_to_float'



我有如下形状的日期时间数据:

yyyy-mm-dd hh:min:secsec+hh:minmin

例如:2020-02-01 01:00:00+01:00

我现在想将其转换为浮动。我使用了我找到这个问题的解决方案的函数:python datetime以毫秒精度浮动

def datetime_to_float(d):
return d.timestamp()

我将此函数应用于我的日期时间对象,代码为:

time_in_float = []
for i in time:
time_in_float.append(i.datetime_to_float())

得到了这个错误:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-11-f6272033e480> in <module>()
2 
3 for i in time:
----> 4     time_in_float.append(i.datetime_to_float())
5 
AttributeError: 'datetime.datetime' object has no attribute 'datetime_to_float'

我在这里要换什么?

非常感谢!

您需要在循环中执行time_in_float.append(datetime_to_float(i))

如果定义了一个函数,则需要将datetime.datetime对象作为参数传递,而不希望将该函数作为方法应用

def datetime_to_float(d):
return d.timestamp()

time_in_float = []
for i in time:
time_in_float.append(datetime_to_float(i))

然而,没有必要定义一个只会让代码更加模糊的函数,所以这应该很好:

time_in_float = []
for i in time:
time_in_float.append(i.timestamp())

甚至列出理解

time_in_float = [(i.timestamp() for i in time]

所有这些都假设i是datetime.datetimeobject and notstr`

最新更新