摆脱这个简单错误的最简单方法是:


  在'float'和'str'的实例之间不支持'>'。


有些文章看起来很难解决,但是我认为应该很容易解决。就像放currentTime==(str(currentTime)).一样,我尝试过的其他事情都在最下面。我的代码:

df=pd.read_csv(file_name, header=None)
last3Rows=df.iloc[-3:]
for i in range(3):
    lastRow = df.iloc[i]
    tradeTime=lastRow[4]

    currentTime=datetime.datetime.now().timestamp()
    print (currentTime)
    print(type(currentTime))
    print (tradeTime)
    print(type(tradeTime))

    if currentTime > tradeTime:
        print("inner loop reached")


我试过的

currentTime = datetime.strptime('%H:%M:%S')


给出:


  AttributeError:模块“ datetime”没有属性“ strptime”


currentTime = strptime('%H:%M:%S')


给出:


  AttributeError:模块“ datetime”没有属性“ strptime”


currentTime=datetime.datetime.now().time()


给出:


  TypeError:“>”在“ datetime.time”和“ str”的实例之间不受支持

最佳答案

您遇到的问题是尝试对不同类型的操作数使用“>”运算符的结果。因此,解决此问题的最简单方法是将它们都转换为具有有效大于运算符实现的类型,例如使用unix时间戳转换为浮点型。

if float(currentTime.total_seconds()) > float(tradeTime.total_seconds()):
    print("inner loop reached")

关于python - TypeError:“float”和“str”的实例之间不支持“>”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56839957/

10-12 22:21