我提前道歉,但我无法理解......
我正在尝试从sqlite数据库中读取数据并将数据填充到reportlab条形图中。我拥有的示例数据是http://www.reportlab.com/snippets/3/
的摘录sqlite3代码是:
def arrData():
conn = sqlite3.connect('alarmdb.sqlite')
ccursor = conn.cursor()
strSQL = "Select distinct ErrorMsg, count(*) as Amt from tmpTable where cast(source as int)<20 group by ErrorMsg Order by count(*) desc limit 10"
ccursor.execute(strSQL)
arrResult = ccursor.fetchall()
arrErrAmt = [int(element[1]) for element in arrResult]
return arrErrAmt
但返回[200,100,50,40,..],但在reportlab示例中,它们显示: self.bar.data = [[4.22],[4.12],[3.65],[3.56],...]
我如何使用我的arrData函数?
答案 0 :(得分:0)
列表[[4.22], [4.12], [3.65], [3.56], ...]
的每个元素本身都是一个列表(包含一个浮点数)。
列表[200, 100, 50, 40,..]
的每个元素都是一个int。因此,您需要创建大量列表,而不仅仅是大量的整数。
您可以将代码更改为:
[[int(element[1])] for element in arrResult]
或者也许:
[[float(element[1])] for element in arrResult]
如果您希望它看起来更像示例数据。