如何使用SQLite数据库选择在Python中进行算术

2024-04-25 05:28:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从我的数据库中添加(不是连接)一个SQLite选择,但是它以列表的形式返回值,并尝试连接它。 我看到的是“总计=用户+价值” 我正在开发一个管理模拟股票投资组合交易的webflask应用程序。请帮忙! “users”表的“cash”列是数字,“portfolio”表的“shares”和“price”列是整数和数字

users = db.execute("SELECT cash FROM users WHERE id = :id", id=session["user_id"])
portfolio = db.execute("SELECT * FROM portfolio WHERE id = :id", id=session["user_id"])

values = 0
total = users
if portfolio:
    for each in portfolio:
        values= values + (each.shares * each.price)
        total = users + values

#value = usd( total )
value = users
return render_template("index.html", stock=portfolio, user=users, value=value)

Tags: idexecutedbvalue数字cashselectusers
1条回答
网友
1楼 · 发布于 2024-04-25 05:28:11

正如罗晨焕在评论中指出的,sqlite3.execute返回一个sqlite3.Cursor对象,所以你的user和{}变量实际上是游标,而不是值的可编辑集合。为了使这些内容可编辑,您需要对它们调用.fetchall()方法,以获得结果列表。在

一旦您这样做,这些列表中的每个结果都将是一个元组,表示SQLite数据库中的行,而不是具有命名属性的属性。因此,要获得您感兴趣的值,您要么通过索引访问它们,要么将它们加载到一个Collections.namedtuple实例中,通过命名属性访问它们。在

相关问题 更多 >