spi*_*edd 6 flask python-3.x pandas
我有一个小应用程序,我在其中输入了一些 csv 文件,使用 Pandas 进行了一些数据处理,最终我希望在完成后将结果吐出一个 excel 文件。
现在我可以将处理结果呈现为 html,并且我有一个表格正在运行。但是,当我尝试创建要下载的 excel 文件时,问题就出现了。
下面是获取数据框并创建 excel 文件的代码部分。
进口:
from flask import Flask, request, render_template, send_file
from io import BytesIO
import pandas as pd
.
. Stuff
.
output = BytesIO()
writer = pd.ExcelWriter(output, engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1')
writer.save()
xlsx_data = output.getvalue()
return send_file(xlsx_data, attachment_filename='output.xlsx', as_attachment=True)
Run Code Online (Sandbox Code Playgroud)
它下载但它是 0kb,我在 excel 中得到以下内容, Excel Cannot open the file 'output.xlsx' because the file format or file extension is not valid. Verify that the file has not been corrupted and that the file extension matches the format of the file.
这是什么问题?
使用 python 3.6
小智 7
seek在内存文件中写入初始文件后,您需要回到文件的开头。并且不需要xlsx_data变量:
# ...
writer.save()
output.seek(0)
return send_file(output, attachment_filename='output.xlsx', as_attachment=True)
Run Code Online (Sandbox Code Playgroud)
请参阅 写入然后读取内存字节 (BytesIO) 给出空白结果
| 归档时间: |
|
| 查看次数: |
4111 次 |
| 最近记录: |