簡體   English   中英

Python sqlite => reportlab數據[1,2,3]和[[1],[2],[3]]之間有什么區別

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM