使用光标使用python sqlite3计算平均值

时间:2017-04-11 20:05:33

标签: python sqlite

我有一个包含表的数据库,我想计算列的平均值而不导入所有行并直接在python中执行;我认为这样做比使用sqlite要花费更长时间(计算方面和代码方面)。我认为以下内容应该有效:

cursor.execute('SELECT AVG(column) FROM table')

但是,我不知道如何实际提取此SQL命令的输出。我无法在文档(https://docs.python.org/3/library/sqlite3.html)中找到有用的游标类方法来帮助我解决这个问题。

请告诉我,我所做的事情是否毫无意义或愚蠢;我之前没有使用过SQL,所以它可能是上述两种方式之一。

谢谢

1 个答案:

答案 0 :(得分:1)

不确定您的其他代码,但我认为您正在寻找.fetchone()方法。这些方面应该有用:

import sqlite3
conn = sqlite3.connect('example.db')
c = conn.cursor()
c.execute('SELECT AVG(column) FROM table')
print(c.fetchone())

.fetchone()方法返回一个结果,如果你想要从执行中返回多个结果,你会使用如下的循环:

for row in c.execute('SELECT * FROM table')
    print(row)