【发布时间】:2020-06-15 22:32:45
【问题描述】:
我的烧瓶应用程序上有一个下载按钮,我正在尝试添加允许用户以 csv 或 excel 格式从本地书籍表中下载所有数据的功能。
我想做的另一件事是上传 excel 或 csv 文件并将数据导入书籍表中。
为了下载我有这个
@admin_role.route('/download')
@login_required
def post():
si = StringIO()
cw = csv.writer(si)
for book in Book.query.all():
cw.writerows(book)
output = make_response(si.getvalue())
output.headers["Content-Disposition"] = "attachment; filename=export.csv"
output.headers["Content-type"] = "text/csv"
return output
但我有错误TypeError: writerows() argument must be iterable
这是模型:
class Book(db.Model):
"""
Create a Books table
"""
__tablename__ = 'books'
id = db.Column(db.Integer, primary_key=True)
book_name = db.Column(db.String(60), index=True,unique=True)
author = db.Column(db.String(200), index=True)
quantity = db.Column(db.Integer)
department_id = db.Column(db.Integer, db.ForeignKey('departments.id'))
employees_id = db.Column(db.Integer, db.ForeignKey('employees.id'))
publisher = db.Column(db.String(200))
no_of_pgs = db.Column(db.Integer)
pbs_year = db.Column(db.Integer)
genre_id = db.Column(db.Integer, db.ForeignKey('genres.id'), nullable=False)
read = db.Column(db.Enum('NO', 'YES'), default='NO')
borrows = db.relationship('Borrow', backref='book',
lazy='dynamic')
【问题讨论】:
标签: python flask export-to-csv export-to-excel