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協議接受類似文件的可迭代對象作爲有效載荷。 –