1
是否有可能在瓶子中定义一条返回文件的路线?瓶熊猫返回xls文件
- 我有一个被熊猫访问的mongo数据库。
- 熊猫根据请求参数生成一个xls文件。
以上两个步骤清晰易行。 第三步是我遇到问题的那一步。
- 定义一个瓶子路线,它将返回一个文件供用户下载。
我不想使用以前生成的静态文件。
在此先感谢。
是否有可能在瓶子中定义一条返回文件的路线?瓶熊猫返回xls文件
以上两个步骤清晰易行。 第三步是我遇到问题的那一步。
我不想使用以前生成的静态文件。
在此先感谢。
我对熊猫不太熟悉,但是您需要将xls文件的二进制内容通过Bottle路由发送给用户。修改例如从here为Python 3:
from io import BytesIO
from bottle import route, response
from pandas import ExcelWriter
@route('/get-xlsx')
def get_xlsx():
output = BytesIO()
writer = ExcelWriter(output, engine='xlsxwriter')
# Do something with your Pandas data
# ...
pandas_dataframe.to_excel(writer, sheet_name='Sheet1')
writer.save()
response.contet_type = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
response.add_header('Content-Disposition', 'attachment; filename="report.xlsx"')
return output.getvalue()
当用户单击对应于这条线路的链接,“report.xlxs”文件下载对话框将在其浏览器中打开。
太好了。非常感谢。我会更多地阅读BytesIO。 –
BytesIO是一个类似于内存文件的对象。我猜你甚至可以在没有getvalue()的情况下直接返回它,因为WSGI协议接受类似文件的可迭代对象作为有效载荷。 –