SQLite和Python:有没有办法可以直接将输出转换为列表?

时间:2013-08-29 05:47:43

标签: python list sqlite

我使用sqlite.Row作为行工厂:

db = sdb.connect(database=db.name)
db.row_factory = sdb.Row
dbc = db.cursor()

现在我正在执行一个查询,该查询返回一个只有一列但多行的结果集:

hodsql = '''
            SELECT perday 
            FROM mytable
            '''
dbc.execute(hodsql)
perdays = dbc.fetchall()

我现在要做的是使用numpy计算数字perdays的几个统计数据。我是这样做的:

perdays_raw = []
for day in perdays:
    perdays_raw.append(day[0])
mean = numpy.mean(perdays_raw)
std = numpy.std(perdays_raw)

即。我将每个行对象的第一项附加到列表中,从而将其转换为numpy-readable列表。 问题:是不是有更优雅的方法可以直接将perdays转换为列表(或字典)?

1 个答案:

答案 0 :(得分:0)

好吧,如果您真的想将1元组列表转换为项目列表,请执行以下操作:

[x[0] for x in perdays]