我有一个简单的烧瓶应用程序。我需要上传一个 Excel 文件,对其进行一些处理,然后将该文件保存在磁盘上。为此,我有这个代码。
app = Flask(__name__)
FILE_PATH = 'files'
app.config['UPLOAD_FOLDER'] = FILE_PATH
@app.post("/upload")
def upload():
# Read the File using Flask request
file = request.files['file']
filename = secure_filename(file.filename)
# Open with panda and do some work.This work don't affect so is no there
input_df = pd.read_excel(io.BytesIO(file.read()), 'sheetName', header=None)
# Save the file
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
我在 Flask 控制台上没有错误,但是当我去上传文件夹时,我看到上传的 excel 文件有 0KB 并且我无法打开。
如果我不使用 Panda 打开,即从代码中删除
input_df = pd.read_excel(excel_path, 'sheetName', header=None)
,一切正常。上传的excel文件很好。
所以我的提示是我做错了什么 和熊猫?我需要在 read_excel 或类似的东西之后关闭?我正在阅读 Flask 和 pandas 文档,但没有看到任何相关内容。
谢谢
首次读取文件时,指针在文件内移动到末尾。如果您随后尝试保存文件,则不会留下任何数据,因为指针已经到达末尾。
如果读取文件后想保存,需要将指针移回开头后再保存。
# Open the file with pandas.
# ...
file.seek(0)
# Save the file.
# ...