在Python中将SQLite查询中的值提取为整数

时间:2018-04-02 00:32:19

标签: python sqlite

我用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"

如何将数字提取为整数?

2 个答案:

答案 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'