我正在寻找从我正在开发的sqlalchemy应用程序生成(导出)csv。但是我在csv中得到了一些意想不到的结果,也就是说,我得到的不是csv文件中填充的MySQL DB表中的实际数据,而是声明性类模型条目(占位符??)。问题可能是我构造查询的方式,甚至是整个函数
奇怪的是,从csv输出(pic)判断,我的思路似乎正确,因为行/列计数与DB表相同,但实际数据只是没有填充。我对SQLAlchemy ORM和Flask相当陌生,所以在这里寻找一些指导来度过难关。感谢建设性的反馈
#class declaration with DB object (divo)
class pearl(divo.Model):
__tablename__ = 'users'
work_id = divo.Column(divo.Integer, primary_key=True)
user_fname = divo.Column(divo.String(length=255))
user_lname = divo.Column(divo.String(length=255))
user_category = divo.Column(divo.String(length=255))
user_status = divo.Column(divo.String(length=1))
login_id = divo.Column(divo.String(length=255))
login_passwd = divo.Column(divo.String(length=255))
#user report function
@app.route("/reports/users")
def users_report():
with open(r'C:\Users\Xxxxxxx\Projects\_repository\zzz.csv', 'w') as s_key:
x15 = pearl.query.all()
for i in x15:
# x16 = tuple(x15)
csv_out = csv.writer(s_key)
csv_out.writerow(x15)
flash("Report generated. Please check designated repository.", "green")
return redirect(url_for('reports_landing')) # return redirect(url_for('other_tasks'))
列表中的每个对象
表示
users
表中的一行您在电子表格中看到的不是占位符,而是每个行对象的字符串表示(请参见object.repr)
可以通过“列名”属性获取特定行对象的列值,例如:
你可以这样做:
上面代码中的
i
是一个元组,其形式如下:相关问题 更多 >
编程相关推荐