我有如下形状的日期时间数据:
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 not
str`