使用SQLite和Python 3.1,我希望通过HTML表格显示货币数据。一个接受光标作为参数的模板。因此所有的货币值都必须有2位小数,但SQLite将它们存储为浮点类型(即使结构表示十进制:-(),所以有些必须在显示之前进行转换(例如,我希望12.1显示为12.10)替换所有游标行中的值
该代码是这样的(简化图)...
import sqlite3
con = sqlite3.connect("mydb")
con.row_factory = sqlite3.Row
cur = con.cursor()
cur.execute("select order_no, amount from orders where cust_id=123")
for row in cur:
row['amount'] = format(row['amount'],'%.2f')
的最后一个命令引发错误“#builtins.TypeError:‘sqlite3.Row’对象不支持项目分配”
如何我可以解决行对象值无法更改的问题吗?我可以将光标转换为字典列表(一个用于eac h行,例如。 [{'order_no':1,'amount':12.1},{'order_no':2,'amount':6.32},...]),然后格式化每个项目的“金额”值?如果是这样,我该怎么做?
有没有更好的解决方案来实现我的目标?任何帮助,将不胜感激。
TIA, 艾伦
感谢亚历克斯 - 这是一个不错的解决方案。问候。 – 2010-08-01 16:22:12