我用Python做了一个SQLite查询:
SharesOwned = db.execute("SELECT SUM(Shares) FROM transactionTable WHERE Share='FB'")
print(SharesOwned)
if sharesOwned < sharesToSell:
return errorMessage("You don't own that many shares of FB")
打印:
[{'SUM(Shares)':10}]
然后它给了我这个错误:
TypeError: "List indices must be integers or slices not str"
如何将数字提取为整数?
答案 0 :(得分:1)
看起来SharesOwned是一个词典列表。要返回您在此特定情况下需要执行以下操作的共享数量:
%s %d
SharesOwned [0]访问列表的第一个元素,在本例中为字典{'SUM(Shares)':10}。现在您只需要按键查找值 - 在这种情况下为'SUM(Shares)'。
此外,看起来你在shareOwned中输了一个错字,s应该大写。
答案 1 :(得分:1)
尝试以下更改: 更新您的查询:
SharesOwned[0]['SUM(Shares)']
然后访问SharedOwned:
SELECT SUM(Shares) AS total FROM transactionTable WHERE Share='FB'