我正在使用 web.py 来管理我的 Web 应用程序并使用 MySQL 作为数据库。我进行原始查询并获得结果,然后将其转换为列表并对其进行迭代。我需要将检索到的列推送到数组(或 Numpy 数组)中,然后使用 Matplotlib 进行绘图。一切正常,但我不确定我使用的方法是否最有效? 代码是:
retrieved_data=list(db.query(query))
LEN=len(retrieved_data)
x=[0]*LEN
y=[0]*LEN
X=[None]*LEN
for i in range(0,LEN):
x[i]=retrieved_data[i]["timestamp"]
y[i]=retrieved_data[i][parameter]
X[i]=datetime.datetime.fromtimestamp(x[i],pytz.timezone(TIMEZONE))
最佳答案
如果您只需要迭代一次,则不必转换 db.query 的结果。因此,您的特定示例可以稍微简化。
x, y, X = [], [], []
for item in db.query(query):
x.append(item.timestamp)
y.append(item[parameter])
X.append(datetime.datetime.fromtimestamp(item.timestamp,
pytz.timezone(TIMEZONE))
或者如果您需要对同一个结果进行多次迭代,您可以使用.list()
方法将其转换为列表。
retrieved_data = db.query(query).list()
关于mysql - 使用 web.py 有效地使用查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16099477/