如何访问返回到python的sql查询的每个元素?

时间:2018-07-06 15:39:37

标签: python sqlalchemy

股票返回用户拥有的股票。我想在返回的每只股票上传递函数lookup()以获得股票的价格。由于查询返回多行,我该怎么办?

rows = "SELECT * FROM :p1 ORDER BY id"
db.execute(rows,{'p1':str(session['user_id'])})
rows = db.fetchall()
stock = rows[0]['symbol']
share = rows[0]['shares']
price = []

1 个答案:

答案 0 :(得分:1)

很难说这是否是您要寻找的东西,但听起来您正在寻找一种通往search a list of dictionaries的方法。

>>> rows = [{'symbol': 'APPL', 'shares':1000},{'symbol': 'GE', 'shares': 2000},{'symbol': 'TWTR', 'shares': 5000}]
>>> def lookup(rows, stock):
...    results = [row for row in rows if row["symbol"] == stock]
...    return results
... 
>>> lookup(rows, 'APPL')
[{'symbol': 'APPL', 'shares': 1000}]