[英]Python sqlite => reportlab data what is difference between [1,2,3] and [[1],[2],[3]]
我事先表示歉意,但我無法弄清楚...。
我正在嘗試從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函數呢?
列表[[4.22], [4.12], [3.65], [3.56], ...]
每個元素本身就是一個列表(包含一個浮點數)。
列表[200, 100, 50, 40,..]
每個元素都是一個int。 因此,您需要創建很多列表,而不僅僅是很多int。
您可以將代碼更改為:
[[int(element[1])] for element in arrResult]
也許:
[[float(element[1])] for element in arrResult]
如果您希望它看起來更像示例數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.