为了账号安全,请及时绑定邮箱和手机立即绑定

我想将一个列表添加到我从 SELECT db.execute 查询创建的字典中,然后遍历更新的字典

我想将一个列表添加到我从 SELECT db.execute 查询创建的字典中,然后遍历更新的字典

有只小跳蛙 2023-02-07 10:45:30
我有以下代码来查询股票购买数据库:dicts = db.execute("SELECT symbol, SUM(balance) FROM portfolio")这输出:[{'symbol': 'F', 'SUM(balance)': 59.55}, {'symbol': 'MSI', 'SUM(balance)': 1374.1999999999998}]和我创建的用于将 SUM(balance) 数字转换为货币的列表(称为“总计”)for item in db.execute("SELECT SUM(balance) FROM portfolio GROUP BY symbol"):         total.append(usd(item["SUM(balance)"]))哪些输出:['$59.55', '$1,374.20']如何将 total[] 中的项目添加到字典中,以便它输出:[{'symbol': 'F', 'SUM(balance)': 59.55, 'total': $59.55}, {'symbol': 'MSI', 'SUM(balance)': 1374.1999999999998, 'total': $1,374.20}]我最终想在包含总值的字典上运行 for 循环
查看完整描述

1 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

你找错人了。只需将GROUP BY子句添加到您的第一个查询并消除第二个查询。

您没有提到您使用的是哪个 DBMS(稍后;标识为 sqlite3),但不应该像SUM没有GROUP BY.

将实数列转换为字符串的简单方法是将您的列添加到它前面$

select “$” || sum(balance)

SQLite 会将值转换(强制)为字符串。在其他 DBMS 或 SQLite 中的其他情况下,您可能需要做一个明确的案例:

select “$” || cast(balance as text)

给你的最后一个选择。使用返回数字的原始查询,并将格式作为 UI 中的字段级格式进行处理。将货币作为字符串处理并不常见。根据您在 Flask 中使用的特定字段或表单控件,这应该很容易。


查看完整回答
反对 回复 2023-02-07
  • 1 回答
  • 0 关注
  • 68 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信